xuxueli / xxl-conf

A lightweight distributed configuration management platform. (分布式配置管理平台XXL-CONF)
http://www.xuxueli.com/xxl-conf/
GNU General Public License v3.0
666 stars 371 forks source link

xml配置失效 #26

Closed yoqu closed 6 years ago

yoqu commented 6 years ago

经过测试,发现在Spring xml中对bean进行表达式注入没有问题,例如:

<bean class="com.xxx.SearchConfig">
        <property name="appid" value="$XxlConf{default.dubbo.registry.address}"/>
</bean>

但是在注入自定义xml表达式发现问题:

 <dubbo:registry address="$XxlConf{default.dubbo.registry.address}" session="30000"
                    timeout="30000"/>
xuxueli commented 6 years ago

你好,这种情况是支持使用 XXL-CONF 配置中心的啊。

这种情况,可以使用 “方式4: "XML + API" 混合方式” 获取配置中心里的配置数据。( 见文档 :http://www.xuxueli.com/xxl-conf/#/?id=%E6%96%B9%E5%BC%8F4-quotxml-apiquot-%E6%B7%B7%E5%90%88%E6%96%B9%E5%BC%8F

示例代码如下:

<dubbo:registry address="#{T(com.xxl.conf.core.XxlConfClient).get('default.dubbo.registry.address')}" session="30000" timeout="30000"/>
yoqu commented 6 years ago

好的,另外还有个疑问,现在xml配置这样设计的目的是什么呢? 因为就我而言这样的配置方法比较繁琐,我昨天使用阿波罗的配置中心时,发现它可以直接使用SPEL语法,还仔细研究它的源代码,不过我觉得作者参考一二.

xuxueli commented 6 years ago

目的是为了将 xxl-conf 的配置加载方式,与spring原生配置加载方式隔离开,相互不受影响,所以配置加载方式使用新占位符和注解。

目前,提供了多种配置加载方式,如下,可参考文档:

xxl-conf 是支持 “动态Bean刷新” 的,强一致性毫秒级推送,这点和其他产品有明显区别的。