在重新引导之后,属性文件中保存的数据源设置未加载

时间:2010-11-09 15:10:16

标签: java spring tomcat spring-mvc

我的应用程序从属性文件中获取其数据源设置。当我启动Tomcat时,我加载了属性文件,根据Tomcat正在运行的环境(通常是UAT或Production)对其进行更改 - 并且基于此传递,相应的设置值需要数据库连接。

我的问题是,当第一次使用新连接值在bootstrap上更新属性文件时,在tomcat上 - Spring sessionFactory似乎没有获取当前更新的值,因此最终会出现数据库连接异常。但是当我重新启动Tomcat时 - sessionFactory现在可以访问更新的值。

我的问题是 - 有谁知道为什么sessionFactory只能使用以前的值而不是更新的设置值?

2 个答案:

答案 0 :(得分:0)

我认为唯一的方法是重启tomcat,因为连接在spring上下文中创建。 Spring上下文在启动时创建。当您在属性文件中更改某些内容时,实际上它不会影响spring上下文,因为它已经创建。

答案 1 :(得分:0)

我使用Maven Filter在构建时替换配置文件属性。