Я могу динамически получать изменения в application.properties в git, используя конфигурацию Spring Cloud.
Bean
public class PropertyBean {
@Value("${refreshscope.test}")
private String scope;
@Value("${refreshscope.test1}")
private String scope1;
public String getScope() {
return scope;
}
public String getScope1() {
return scope1;
}
}
Конфигурация
@Configuration
public class AppConfiguration {
@Bean
@RefreshScope
public PropertyBean aBean() {
return new PropertyBean();
}
@Bean
public RefreshScopeRefreshedListener
remoteApplicationEventListener(PropertyBean aBean) {
return new RefreshScopeRefreshedListener(aBean);
}
}
Слушатель
public class RefreshScopeRefreshedListener implements
ApplicationListener<RefreshScopeRefreshedEvent> {
private PropertyBean aBean;
public RefreshScopeRefreshedListener(PropertyBean abean) {
this.aBean = abean;
}
@Override
public void onApplicationEvent(RefreshScopeRefreshedEvent event)
{
System.out.println("RRRfreshed Scop variable1==="+aBean.getScope());
System.out.println("RRRfreshed Scop variable2==="+aBean.getScope1());
}
}
Вопрос
Как мы узнаемкакие свойства были изменены в клиенте?Например, я изменил только одно свойство, скажем, «refreshscope.test» в файле свойств git.Я должен знать, что только «refreshscope.test» был изменен на стороне клиента, или изменился список всех свойств.