Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
troyzhxu opened this issue Nov 1, 2024 · 13 comments
Open

Comments

@troyzhxu
Copy link

troyzhxu commented Nov 1, 2024

Framework versions

  • SpringBoot Version: 3.3.5
  • SpringCloud Version: 2023.0.3
  • SpringCloudAlibaba : 2023.0.1.2 -> 2023.0.1.3

Configuration in bootstrap.yml

spring:
  application:
    name: xxxxxx
  cloud:
    nacos:
      config:
        file-extension: yml
      server-addr: x.x.x.x:xxxx
      username: xxxx
      password: xxxx

Configuration of DataSource in Nacos:

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

Error Message

  • After upgrading SpringCloudAlibaba from 2023.0.1.2 to 2023.0.1.3, my project fails to start with the following errors:
***************************
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).
  • If downgraded SpringCloudAlibaba to 2023.0.1.2, it immediately works ok.
@troyzhxu troyzhxu changed the title After upgrading from 2023.0.1.2 to 2023.0.1.3, the project cannot start After upgrading from 2023.0.1.2 to 2023.0.1.3, the project fails to start Nov 1, 2024
@troyzhxu troyzhxu changed the title After upgrading from 2023.0.1.2 to 2023.0.1.3, the project fails to start After upgrading from 2023.0.1.2 to 2023.0.1.3, my project fails to start Nov 1, 2024
@yuluo-yx
Copy link
Collaborator

yuluo-yx commented Nov 1, 2024

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

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

@herodotus-ecosystem
Copy link

herodotus-ecosystem commented Nov 3, 2024

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

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

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

@18670032796
Copy link

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

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

这个是例子:
springboot-alibaba.zip

@18670032796
Copy link

把 application.yml 改为 bootstrap.yml

@ldcsaa
Copy link

ldcsaa commented Nov 19, 2024

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

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

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

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

@herodotus-ecosystem
Copy link

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

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

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

@troyzhxu
Copy link
Author

troyzhxu commented Dec 5, 2024

在 Maven 仓库发现有 2023.0.3.2 版本, 升级到 2023.0.3.2 后,该问题依然存在。

@troyzhxu
Copy link
Author

troyzhxu commented Dec 5, 2024

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

bootstrap.yml 改成:

spring:
  application:
    name: xxxxxx
  cloud:
    nacos:
      config:
        file-extension: yml
      server-addr: x.x.x.x:xxxx
      username: xxxx
      password: xxxx
  config:
    import:
      - nacos:${spring.application.name}?refreshEnabled=true

确实就正常了。

以后版本, 这个配置项 spring.config.import 都是必须的了吗?
不添加这个配置项就不行了是吗?

@herodotus-ecosystem
Copy link

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

bootstrap.yml 改成:

spring:
  application:
    name: xxxxxx
  cloud:
    nacos:
      config:
        file-extension: yml
      server-addr: x.x.x.x:xxxx
      username: xxxx
      password: xxxx
  config:
    import:
      - nacos:${spring.application.name}?refreshEnabled=true

确实就正常了。

以后版本, 这个配置项 spring.config.import 都是必须的了吗? 不添加这个配置项就不行了是吗?

我试了 2023.0.3.2 版本,问题应该解决了,至少在我本地不使用 import 方式也可以运行了。但是,还有其它问题,见 #3919

有说法是这样的,似乎以后就只支持 import 方式,有 SCA 的 Comitter 是这样说的。但是感觉现在还不明确,官网文档相关内容也还是各种方式都支持。

@yuluo-yx
Copy link
Collaborator

yuluo-yx commented Dec 7, 2024

文档没有来得及更新,后面官网会改成 import 引入得方式

@yuluo-yx
Copy link
Collaborator

yuluo-yx commented Dec 7, 2024

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

bootstrap.yml 改成:

spring:
  application:
    name: xxxxxx
  cloud:
    nacos:
      config:
        file-extension: yml
      server-addr: x.x.x.x:xxxx
      username: xxxx
      password: xxxx
  config:
    import:
      - nacos:${spring.application.name}?refreshEnabled=true

确实就正常了。

以后版本, 这个配置项 spring.config.import 都是必须的了吗? 不添加这个配置项就不行了是吗?

是的,这个是现在社区主推的一个配置方式,之前的老版本配置不建议用了

Copy link

github-actions bot commented Jan 6, 2025

This issue has been open 30 days with no activity. This will be closed in 7 days.

@github-actions github-actions bot added the stale label Jan 6, 2025
@rowstop
Copy link

rowstop commented Jan 18, 2025

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

bootstrap.yml 改成:
spring:
application:
name: xxxxxx
cloud:
nacos:
config:
file-extension: yml
server-addr: x.x.x.x:xxxx
username: xxxx
password: xxxx
config:
import:
- nacos:${spring.application.name}?refreshEnabled=true

确实就正常了。
以后版本, 这个配置项 spring.config.import 都是必须的了吗? 不添加这个配置项就不行了是吗?

是的,这个是现在社区主推的一个配置方式,之前的老版本配置不建议用了

关键之前的配置不生效了,根本就不兼容之前的方式了

@github-actions github-actions bot removed the stale label Jan 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants