Spring boot 在Spring云配置更改后切换jdbc连接

Spring boot 在Spring云配置更改后切换jdbc连接,spring-boot,spring-cloud,spring-jdbc,spring-amqp,Spring Boot,Spring Cloud,Spring Jdbc,Spring Amqp,在成功设置云配置服务器并确认所有功能均按预期运行后,我遇到了这个问题,但我不确定它是否受支持或最佳方式 我们遵循每个服务的数据库模式,因此作为一个实验,我提交了一个包含每个服务的db连接详细信息的开发和登台文件,这样,如果我们需要更改服务器地址和凭据,我们只需要在配置repo中进行更改 我已正确设置,并确认更改确实正在从配置服务器传播到客户端 在做了所有这些之后,我才注意到,即使服务获得了更新的数据库详细信息,它也没有切换连接 这可能吗?我能做到这一点的唯一方法是重新启动服务,而这有点违背了将所

在成功设置云配置服务器并确认所有功能均按预期运行后,我遇到了这个问题,但我不确定它是否受支持或最佳方式

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

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

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


这可能吗?我能做到这一点的唯一方法是重新启动服务,而这有点违背了将所有这些准备就绪的目的。我试着玩弄连接超时,但没用。该服务仍连接到上一个连接。

因此,似乎只需将@RefreshScope添加到我的控制器中即可实现此目的。感谢Spring的David Syer的洞察力。

没有自动发生的事情。数据源有各种各样的东西需要重新创建(例如连接池)。我认为未使用的/空闲的连接只会自行断开连接,当它重新连接时,会转到新服务器。这可能吗@Spencer只是一个例子,每个数据源实现都是不同的。从Twitter对话:将请求范围注释添加到数据源Bean我实际上对此一无所知。我不使用数据源bean。我只是使用属性文件来声明数据库连接的详细信息。春天就是这样。