1、配置加载 /** * @author Spencer Gibb * @author Liang Yong */ @Lazy(false) @Configuration(proxyBeanMethods = false) @ConditionalOnClass({ ConcurrentCompositeConfiguration.class, ConfigurationBuilder.class }) @AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE) public class ArchaiusAutoConfiguration { private static final Log log = LogFactory.getLog(ArchaiusAutoConfiguration.class); private static final AtomicBoolean initialized = new AtomicBoolean(false); private static DynamicURLConfiguration defaultURLConfig; @PreDestroy public void close() { if (defaultURLConfig != null) { defaultURLConfig.stopLoading(); } setStatic(ConfigurationManager.class, "instance", null); setStatic(ConfigurationManager.class, "customConfigurationInstalled", false); setStatic(DynamicPropertyFactory.class, "config", null); setStatic(DynamicPropertyFactory.class, "initializedWithDefaultConfig", false); setStatic(DynamicProperty.class, "dynamicPropertySupportImpl", null); initialized.compareAndSet(true, false); } @Bean public static ConfigurableEnvironmentConfiguration configurableEnvironmentConfiguration( ConfigurableEnvironment env, ApplicationContext context) { //从容器中获取所有的AbstractConfiguration的bean Map<String, AbstractConfiguration> abstractConfigurationMap = context
Archaius 与spring boot整合原理分析
于 2022-08-15 20:21:34 首次发布
本文深入探讨了Archaius库如何与Spring Boot进行整合,详细解析了配置管理、动态属性更新以及二者结合的实现机制。通过实例展示了在微服务环境中,Archaius如何增强Spring Boot的配置动态性,提升系统的灵活性。
摘要由CSDN通过智能技术生成