我的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&characterEncoding=UTF8&characterSetResults=UTF8&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的属性?
谢谢。
答案 0 :(得分:0)
我们无法在PropertyPlaceholderConfigurer
中注入$ {...}表达式。这已经有JIRA Ticket了。但是,此票证中有可用的解决方法,可以解决您的问题。