I'm building some camel routes deployed in OSGi (JBoss Fuse)
I'm reading my properties file using this:
<ext:property-placeholder id="propiedades">
<ext:location>file:/C:/TestBed/sucursal.propiedades</ext:location>
</ext:property-placeholder>
But now I want change "file:/C:TestBed/" for some placeholder with some path (like KARAF_ETC). I know this enviroment variable exists because when I use it in the route, it works ok
from(URI_IN)
.log("{{env:KARAF_ETC}}") //Output is: C:\jboss-fuse-6.2.0.redhat-133\bin\..\etc
.to(URI_OUT);
So, I want to do something like:
<ext:property-placeholder id="propiedades">
<ext:location>file:{{env:KARAF_ETC}}/sucursal.propiedades</ext:location>
</ext:property-placeholder>
But does not work.
Property placeholder is kinda tricky, so I tried with file:/{{env:KARAF_ETC}}, file:/{{KARAF_ETC}}, file:${KARAF_ETC} and more combinations but no one works (but some of them throw differents errors).
What is the correct sintaxis to get the enviroments variables in blueprint?
Have you tried this?
I've found it here: http://karaf.922171.n3.nabble.com/Get-environment-variable-td4025807.html
This works for me:
You can access to karaf enviroment vars using karaf.[something], but in camel you can access using KARAF_[SOMETHING]
Thanks Claus Ibsen for pointing the differences in the scopes...
nevertheless, this camel/osgi thing is really weird...It is hard to tame...