如何在没有应用程序服务器重启的情况下在spring中重新初始化bean

时间:2014-02-17 11:32:31

标签: java spring rest initialization application-server

我正在编程服务,用于从数据库获取数据并通过REST服务提供它们。它使用spring mvc。我的数据库连接cofiguration位于属性文件中,Spring在上下文初始化期间将其作为数据源bean加载。

现在我的问题是 - 我想更改属性文件中的配置(例如更改数据库信息),但我无法重新启动应用程序服务器,因此无法加载新配置。

如何重新初始化spring上下文或某些特定的bean,以便使用新定义的属性?

1 个答案:

答案 0 :(得分:1)

如果您想在Spring中使用多个数据源并且需要在运行时动态地确定适当的数据源,则可以使用spring提供的AbstractRoutingDataSource来执行此操作。您必须实现查找键逻辑以确定方法determineCurrentLookupKey()中的数据源。有了这个,您可以在运行时将不同的bean映射到不同的数据源。以下几个与此相关的问题。

  

How to programatically change databases in Spring with one DataSource?

另外

  

dynamically change Spring data source