alibaba / spring-cloud-alibaba

Spring Cloud Alibaba provides a one-stop solution for application development for the distributed solutions of Alibaba middleware.
https://sca.aliyun.com
Apache License 2.0
28k stars 8.34k forks source link

After upgrading from `2023.0.1.2` to `2023.0.1.3`, my project fails to start #3881

Open troyzhxu opened 3 weeks ago

troyzhxu commented 3 weeks ago

Framework versions

Configuration of DataSource in Nacos:

spring:
  datasource:
    url: jdbc:mysql://xxxxx/xxxx
    username: xxxx
    password: xxxx

Error Message

***************************
APPLICATION FAILED TO START
***************************

Description:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class

Action:

Consider the following:
    If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
    If you have database settings to be loaded from a particular profile you may need to activate it (the profiles dev are currently active).
yuluo-yx commented 3 weeks ago

感觉不像是 srping cloud alibaba 的问题,sca 没有和数据库相关的代码部分。

可以看看最新的 spring boot 版本和用的 orm 框架是不是兼容。或者能提供一个复现的最简例子,我们本地复现看看

herodotus-ecosystem commented 3 weeks ago

错误信息显示的是数据库问题,是因为服务启动时数据库相关内容加载的比较早。本质是因为无法读取到Nacos 的配置,读不到 Nacos 的配置所以首先抛出数据库连接问题。

这个问题与 #3877 #3874 和 #3876 是同一个问题。2023.0.1.2 运行正常,升级到 2023.0.1.3 就会出问题。

2023.0.1.3 目测最大的变化是提取出了一个配置模块。bootstrap 和 import 两种配置读取方式一直都是同时支持的,逻辑上不应该重构了代码就支持某一种了。个人猜测是 #3878 所致。

18670032796 commented 2 weeks ago

感觉不像是 srping cloud alibaba 的问题,sca 没有和数据库相关的代码部分。

可以看看最新的 spring boot 版本和用的 orm 框架是不是兼容。或者能提供一个复现的最简例子,我们本地复现看看

这个是例子: springboot-alibaba.zip

18670032796 commented 2 weeks ago

把 application.yml 改为 bootstrap.yml

ldcsaa commented 1 week ago

错误信息显示的是数据库问题,是因为服务启动时数据库相关内容加载的比较早。本质是因为无法读取到Nacos 的配置,读不到 Nacos 的配置所以首先抛出数据库连接问题。

这个问题与 #3877 #3874 和 #3876 是同一个问题。2023.0.1.2 运行正常,升级到 2023.0.1.3 就会出问题。

2023.0.1.3 目测最大的变化是提取出了一个配置模块。bootstrap 和 import 两种配置读取方式一直都是同时支持的,逻辑上不应该重构了代码就支持某一种了。个人猜测是 #3878 所致。

我也碰到同样问题,在创建数据库DataSource时,读取不到nacos的数据库配置信息。

herodotus-ecosystem commented 6 days ago

错误信息显示的是数据库问题,是因为服务启动时数据库相关内容加载的比较早。本质是因为无法读取到Nacos 的配置,读不到 Nacos 的配置所以首先抛出数据库连接问题。 这个问题与 #3877 #3874 和 #3876 是同一个问题。2023.0.1.2 运行正常,升级到 2023.0.1.3 就会出问题。 2023.0.1.3 目测最大的变化是提取出了一个配置模块。bootstrap 和 import 两种配置读取方式一直都是同时支持的,逻辑上不应该重构了代码就支持某一种了。个人猜测是 #3878 所致。

我也碰到同样问题,在创建数据库DataSource时,读取不到nacos的数据库配置信息。

可以临时改成 Import 方式,就可以用了。见:#3882