我有一个简单的 Camel 应用程序包,它将部署在 Apache Service Mix 6.1 下的 Karaf 3.0.5 中。配置文件放在etc/
目录中(假设它被命名为wf.cfg
)。我想在我的应用程序包中拥有动态配置更改功能。因此,无论何时更改某些内容,wf.cfg
它都可以立即用于捆绑。为此,我在我的
blueprint.xml
<cm:property-placeholder persistent-id="wf"
update-strategy="reload">
<cm:default-properties>
<cm:property name="env" value="local" />
</cm:default-properties>
</cm:property-placeholder>
<!-- a bean that uses a blueprint property placeholder -->
<bean id="configBean" class="com.jabong.orchestratorservice.basecomponent.config.ConfigBean">
<property name="env" value="${env}" />
</bean>
我现在面临的问题是如果update-strategy
设置为reload
. 然后它似乎正在重新加载整个bean。
有人可以告诉我有没有办法只重新加载而configBean
不是整个捆绑包?如果我能做到这一点,那么我是否可以对其中的配置变量有一些静态引用,configBean
然后我的应用程序包可以使用这些变量?
完整blueprint.xml
的放在这里。