解析Camel中属性占位符提供的$ {karaf.home}

时间:2015-11-25 11:49:18

标签: properties apache-camel apache-karaf properties-file

我试图从属性中为PGP加密密钥提供文件路径。

.setHeader("CamelPGPDataFormatKeyFileName")
.constant("file:{{devo_keyringUri}}")

{{devo_keyringUri}}定义为${karaf.base}/etc/devKeyring.gpg

我认为${karaf.base}将由属性组件解析,但它不起作用。我得到java.io.FileNotFoundException - ${karaf.base}/etc/devKeyring.gpg

因此它解析了占位符,但没有解析嵌套'变量

我需要做什么才能在${karaf.base}中获得已解决的路径?

Camel Version is 2.13.2
Karaf Version is 2.3.9

修改

它也不适用于较新的版本:

Camel Version is 2.15.3
Karaf Version is 4.0.1

1 个答案:

答案 0 :(得分:0)

常量()这里是正确的方法。试试这个:

setHeader("CamelPGPDataFormatKeyFileName", simple("file:${properties:devo_keyringUri}")

更多信息here