apachekaraf-Camel 2.X.X:将属性文件(.cfg)放在etc目录的子目录中,用cm:property



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目录中读取并动态重新加载属性。

最新更新