Apollo监听配置自动更新,不用在重启服务啦

您所在的位置:网站首页 redis重启后应用要重启吗 Apollo监听配置自动更新,不用在重启服务啦

Apollo监听配置自动更新,不用在重启服务啦

2023-09-20 16:05| 来源: 网络整理| 查看: 265

文章目录 前言一、说明​​​​​​​二、监听器实现 总结

前言

        最近接触到了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