刷新spring启动属性
我有一个spring集成web应用程序,它导入了一系列属性文件,如下所示:刷新spring启动属性,spring,spring-boot,spring-integration,Spring,Spring Boot,Spring Integration,我有一个spring集成web应用程序,它导入了一系列属性文件,如下所示: <context:property-placeholder location="classpath*:*.properties" /> 现在,我将它转换为spring引导应用程序,并在config类中使用@PropertySource导入属性。我还在为未来的州项目研究SpringCloudConfig服务器。所以我的问题是,当属性文件更改时需要刷新的所有bean都需要@RefreshScope,但我知道
<context:property-placeholder location="classpath*:*.properties" />
现在,我将它转换为spring引导应用程序,并在config类中使用@PropertySource导入属性。我还在为未来的州项目研究SpringCloudConfig服务器。所以我的问题是,当属性文件更改时需要刷新的所有bean都需要@RefreshScope,但我知道xml中目前没有等效的属性。我想我可以使用scope=“refresh”应用程序抛出一个错误,表示“refresh”不是有效的作用域。那么,当属性文件更改时,如何管理刷新xml定义的bean呢
我想我可以尝试捕获事件,然后执行上下文刷新();但是,它们是一种更好的方法吗?spring中已经内置了这种方法。要注册一个自定义的
范围,您需要声明一个bean定义。如果您使用@EnableAutoConfiguration
,Spring Cloud Config将为您实现这一点。如果没有,则需要手动创建它(XML或非XML)。例如
(链接:)
@Bean
public static RefreshScope refreshScope() {
return new RefreshScope();
}