在将 Configuration 对象公开为 Spring @Bean 时,我一直在使用 Commons Configuration v1 的重新加载功能而没有任何额外的编码,因为每次访问 Configuration 时都会执行重新加载检查。
我现在正在尝试迁移到 Commons Configuration v2,并且我读到重新加载仅对构建器创建的新配置对象有效。
换句话说,在 v1 中我可以做类似的事情
@Bean
public Configuration config() {
...
return builder.getConfiguration();
}
然后注入配置
@Autowired Configuration config;
并期望它重新加载(在需要时)
config.getString("somepath");
现在我应该打电话
builder.getConfiguration()
每次我想要一个新的配置时再次。
那么我该怎么做呢?Spring中的任何东西都可以帮助我“刷新”一个已经注入许多@Controllers的@Bean吗?它不必是自动的:我可以在管理控制台中实现一个“重新加载”按钮来触发它。