【问题标题】:Switch jdbc connection after Spring Cloud Config change在 Spring Cloud Config 更改后切换 jdbc 连接
【发布时间】:2018-04-12 16:12:13
【问题描述】:

在成功设置云配置服务器并确认一切按预期工作后,我遇到了这个问题,但我不确定它是否受支持或最好的方法。

我们遵循每个服务的数据库模式,因此作为一个实验,我提交了一个包含每个服务的数据库连接详细信息的开发和暂存文件,这样如果我们需要更改服务器地址和凭据,我们只需要做它在配置仓库中。

我已正确设置并确认更改确实从配置服务器传播到客户端。

只有在完成所有这些操作后,我才注意到,即使服务获得了更新的数据库详细信息,它也没有切换其连接。

这可能吗?我能做到这一点的唯一方法是重新启动服务,这有点违背了将所有这些都到位的目的。我试图玩弄连接超时,但没有帮助。该服务仍连接到之前的连接。

【问题讨论】:

  • 不会自动发生任何事情。数据源有各种需要重新创建的东西(例如连接池)。
  • 我在想,未使用/空闲的连接只会自行断开,当它重新连接时,它会转到新服务器。这可能吗? @spencergibb
  • pools,只是一个例子,每个 DataSource 的实现都会不同。
  • 来自 Twitter 对话:向数据源 bean 添加请求范围注释
  • 我实际上迷路了。我不使用数据源 bean。我只是使用属性文件来声明数据库连接的详细信息。 Spring 就是这样工作的。

标签: spring-boot spring-cloud spring-jdbc spring-amqp


【解决方案1】:

因此,将@RefreshScope 添加到我的控制器中似乎可以解决问题。感谢 Spring 的 David Syer 提供的见解。

【讨论】:

    猜你喜欢
    • 2019-07-01
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 2023-01-20
    • 2020-11-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    相关资源
    最近更新 更多