动态刷新apollo配置
2021/4/20 10:59:03
本文主要是介绍动态刷新apollo配置,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
配置apollo的监听器
import com.ctrip.framework.apollo.model.ConfigChange; import com.ctrip.framework.apollo.model.ConfigChangeEvent; import com.ctrip.framework.apollo.spring.annotation.ApolloConfigChangeListener; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cloud.context.scope.refresh.RefreshScope; import org.springframework.context.annotation.Configuration; @Slf4j @Configuration public class ApolloConfigListener { private final static String AUTH_INTERCEPTOR = "ict.auth."; @Autowired private RefreshScope refreshScope; @ApolloConfigChangeListener public void onChange(ConfigChangeEvent changeEvent) { log.info("Apollo config changed --- "); for (String key : changeEvent.changedKeys()) { ConfigChange change = changeEvent.getChange(key); log.info("Apollo change - changeType: {}, key: {}, oldValue: {}, newValue: {}", change.getChangeType(), change.getPropertyName(), change.getOldValue(), change.getNewValue()); } //配置刷新 - 单点和权限验证参数配置对象 if (changeEvent.changedKeys().parallelStream() .anyMatch(changedKey -> changedKey.startsWith(AUTH_INTERCEPTOR))) { refreshScope.refresh("authAppIdConfig"); } log.info("Apollo config refresh done --- "); } }
封装属性
@Data @Component @RefreshScope @ConfigurationProperties(prefix = "ict.auth") public class AuthAppIdConfig { /** * 所有的权限中的appId */ private List<String> appIdList; }
apollo的配置文件
ict: auth: appIdList: - abc - fgh - qwer
这篇关于动态刷新apollo配置的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?