如何使用spring-cloud-config服务器将属性注入现有的xml文件

时间:2017-12-26 04:26:44

标签: java spring spring-cloud

我的xml看起来像这样:

<bean id="dataSourceMaster" class="com.jolbox.bonecp.BoneCPDataSource">
    <property name="driverClass" value="com.mysql.jdbc.Driver"/>
    <property name="jdbcUrl" value="jdbc:mysql://${db.url}?useUnicode=true&amp;characterEncoding=UTF8&amp;characterSetResults=UTF8&amp;autoReconnect=true"/>
    <property name="username" value="${db.username}"></property>
    <property name="password" value="${db.password}"></property>
    ...
</bean>

在spring.xml中,我尝试了这个:

<context:property-placeholder location="${spring.cloud.config.sync.url}" ignore-unresolvable="true" />

但是cloud-config服务器使用basic-auth,我尝试设置 spring.cloud.config.sync.url = http://user:pass@url/config-name/profile/label

,但启动时app会返回401错误。

如何解决这个问题,还是有一种优雅的方法来解决从cloud-config服务器注入现有xml的属性?

谢谢。

1 个答案:

答案 0 :(得分:0)

我们无法在PropertyPlaceholderConfigurer中注入$ {...}表达式。这已经有JIRA Ticket了。但是,此票证中有可用的解决方法,可以解决您的问题。