blueprint.xml
<cm:property-placeholder persistent-id="client.service"
update-strategy="reload">
<cm:default-properties>
<cm:property name="URI"
value="https://blabla/" />
<cm:property name="ConnectionTimeout" value="18000" />
<cm:property name="ResponseTimeout" value="10000" />
</cm:default-properties>
</cm:property-placeholder>
<bean id="configData"
class=" com.myproject.ConfigurationData">
<property name="URI" value="${URI}" />
<property name="ConnectionTimeout" value="${ConnectionTimeout}" />
<property name="ResponseTimeout" value="${ResponseTimeout}" />
</bean>
在默认情况下,我需要将client.service.cfg文件放在${karaf.home}/etc目录中,但是我想要etc目录的子目录中的client.service.cfg文件。例如${karaf.home}/etc/client1/
最后,我们决定更改servicemix的配置,通过以下方式从多个位置读取配置(.cfg(文件。
更新etc文件夹中config.properties文件中属性felix.fileinstall.dir的值。例如
felix.fileinstall.dir = ${karaf.base}/etc,${karaf.base}/etc/client1
所以,现在servicemix将从etc以及atc/client1目录中读取并动态重新加载属性。