Apollo 本身是可以基于事件监听实时推送(Http长连接)变更(AutoUpdateConfigChangeListener),也会定时拉取(fallback)最新配置。
如果说我们还需要在配置更新时,做一些其他的业务,比如:对配置做了一些自己的数据缓存,或者业务变更等,那么我们需要控制监听器,apollo提供了这样的策略。可手动配置一个监听器在容器中。
有两种方式如下:
一、手动初始化监听器并配置到Config上下文中
@SpringBootApplication
@EnableApolloConfig
public class ConfigApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigApplication.class, args);
// 手动配置 apolloConfigListener,添加配置改动监听
ConfigChangeListener configChangeListener = new ConfigChangeListener() {
@Override
public void onChange(ConfigChangeEvent configChangeEvent) {
ConfigChange change;
for (String key : configChangeEvent.changedKeys()) {
change = configChangeEvent.getChange(key);