设计层面详解Eureka配置部分源码
|
以看到,当我们更改了 property 时,监听器中的方法被触发了,利用这一点,我们可以实现动态配置。 后面就会发现, Eureka 底层使用 ConcurrentCompositeConfiguration 来对配置参数进行增删改查,并基于事件监听的机制来支持动态配置 。 另一个有意思的地方我们再来看看一个 UML 图。上面例子中说到 ConcurrentCompositeConfiguration 的两个功能,是通过实现 Configuration 和继承 EventSource 来获得的,这一点没什么特别的,之所以深究它,是因为我发现了其他有趣的地方。们主要来关注下它的三个成员属性(它们都是 AbstractConfiguration 类型):
为了更好理解它们的作用,我写了个测试例子。这里补充一点,当我们创建 ConcurrentCompositeConfiguration 时,就会生成一个 containerConfiguration,默认情况下,它会一直在集合最后面,每次添加新的配置对象,都是往 containerConfiguration 前面插入。 谁来加载配置
通过上面的例子可以知道, ConcurrentCompositeConfiguration 并不会主动地去加载配置,所以,Eureka 需要自己往 ConcurrentCompositeConfiguration 里添加配置,而完成这件事的是另外一个类-- ConfigurationManager 。 (编辑:我爱制作网_潮州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |




浙公网安备 33038102330565号