我有一个上下文 xml 文件和一个由机制Spring
创建的特定 bean 。PropertyPlaceholderConfigurer
我的问题是:当应用程序工作时,相关的属性文件发生了变化,我不想重新启动应用程序。我想在不重新启动应用程序的情况下重新加载相关的 bean。
什么是我的目标的最佳解决方案?
我有一个上下文 xml 文件和一个由机制Spring
创建的特定 bean 。PropertyPlaceholderConfigurer
我的问题是:当应用程序工作时,相关的属性文件发生了变化,我不想重新启动应用程序。我想在不重新启动应用程序的情况下重新加载相关的 bean。
什么是我的目标的最佳解决方案?
你可以看看ReloadablePropertiesAnnotation
github https://github.com/jamesemorgan/ReloadablePropertiesAnnotation
这应该只是通过注释你的属性来工作
@ReloadableProperty("dynamicProperty.myProperty")
private String myProperty;
您还必须添加一些 spring 配置以及查看 github 上的示例或此博客http://www.morgan-design.com/2012/08/reloadable-application-properties-with.html
在底层,这是使用 Guava 的 EventBus 在创建 bean 后更新 bean 的属性。