我正在构建一些部署在OSGi(JBoss Fuse)中的驼峰路线
我正在阅读我的属性文件:
<ext:property-placeholder id="propiedades">
<ext:location>file:/C:/TestBed/sucursal.propiedades</ext:location>
</ext:property-placeholder>
但现在我想要改变&#34;文件:/ C:TestBed /&#34;对于某些具有某种路径的占位符(如KARAF_ETC)。我知道这个环境变量存在,因为当我在路线中使用它时,它可以正常工作
from(URI_IN)
.log("{{env:KARAF_ETC}}") //Output is: C:\jboss-fuse-6.2.0.redhat-133\bin\..\etc
.to(URI_OUT);
所以,我想做类似的事情:
<ext:property-placeholder id="propiedades">
<ext:location>file:{{env:KARAF_ETC}}/sucursal.propiedades</ext:location>
</ext:property-placeholder>
但是不起作用。
属性占位符有点棘手,所以我尝试使用文件:/ {{env:KARAF_ETC}},文件:/ {{KARAF_ETC}},文件:$ {KARAF_ETC}以及更多组合,但没有人工作(但有些他们抛出不同的错误)。
在蓝图中获取环境变量的正确sintax是什么?
答案 0 :(得分:0)
你试过这个吗?
<blueprint
xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.0.0"
...>
<!-- Load system property -->
<ext:property-placeholder />
<bean ...><property name="foobar" value="${foobar}"/></bean>
</blueprint>
我在这里找到了它:http://karaf.922171.n3.nabble.com/Get-environment-variable-td4025807.html
答案 1 :(得分:0)
你可以使用karaf访问karaf环境变种。[某事],但是在骆驼中你可以使用KARAF_ [SOMETHING]
访问感谢克劳斯易卜生指出范围的差异......
然而,这个骆驼/ osgi的东西真的很奇怪......很难驯服......答案 2 :(得分:0)
这对我有用:
<propertyPlaceholder id="properties" location="file:${karaf.home}/etc/sucursal.properties"/>