源码流程:
1、遍历yaml配置的namespaces
2、每个namespace创建对应的config
3、第一次去远程同步,拿到apollo配置信息。this.trySync();
1、先从http://dev.com:8080注册中心拿到apollo-configservice的ip地址172.2.1.1.2:8080
2、再拿这个ip地址+namespace拼成http://172.2.1.1.2:8080/configs/admin-server/default/application?ip=172.2.2.3
3、拿拼好链接去请求apollo查询配置信息
4、定时刷新。this.schedulePeriodicRefresh();
5、长轮询刷新,获取Apollo配置。 this.scheduleLongPollingRefresh();
6、将拿到的apollo配置信息写到了Spring的类ConfigurableEnvironment中,供项目使用。environment.getPropertySources().addFirst(composite);
7、后面就可以通过Environtment.getProperty()获取apollo中的属性,Environment中还加入了别的propertySources,也都可以用Environment获取
参考博客:
1、https://blog.csdn.net/xl649138628/article/details/122061806
2、https://blog.csdn.net/hhj13978064496/article/details/83031806