Apollo监听配置自动更新,不用在重启服务啦 |
您所在的位置:网站首页 › redis重启后应用要重启吗 › Apollo监听配置自动更新,不用在重启服务啦 |
文章目录
前言一、说明二、监听器实现 总结
前言
最近接触到了apollo的使用,由于原来一直用nacos,知道nacos在不重启服务的情况下可以监听到配置更新,利用@RefreshScope注解来实现,但是apollo并不支持。 一、说明一般我们在使用动态配置的时候有两种方式 1、@Value apollo自动监听 2、以配置文件的形式使用 @ConfigurationProperties ,也就是这种形式在apollo中@RefreshScope注解不在能够监听到配置变化,需要我们自己实现一个监听器来实现。 二、监听器的实现代码如下: @Component @Slf4j public class ApolloPropertiesChangedListener implements ApplicationContextAware { private ApplicationContext applicationContext; @ApolloConfigChangeListener private void someChangeHandler(ConfigChangeEvent changeEvent) { for (String key : changeEvent.changedKeys()) { ConfigChange change = changeEvent.getChange(key); log.info("Found change - {}", change.toString()); } // 更新相应的bean的属性值,主要是存在@ConfigurationProperties注解的bean this.applicationContext.publishEvent(new EnvironmentChangeEvent(changeEvent.changedKeys())); } @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { this.applicationContext = applicationContext; } } 总结将这个监听器放到项目中,在项目启动的时候修改配置 实时生效。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |