如何在Apache Camel中将属性文件中的标头设置为值

时间:2012-12-26 09:32:14

标签: java apache-camel

是否可以使用camel 属性组件将邮件头设置为从属性文件读取的值?我可以将这些属性设置为URI选项,但我无法将它们设置为标题值。

我需要这样的东西:

<camel:setHeader headerName="actionId">
    <camel:constant>{{onus.transPosting.RtSFailed}}</camel:constant>
</camel:setHeader>

其中onus.transPosting.RtSFailed是使用camel Properties Component导入的文件上设置的属性键。

注意:我正在使用Apache Camel 2.10.1

更新

使用this discussion建议的<propertyPlaceholder>无效,导致异常:

Caused by: org.apache.camel.language.simple.types.SimpleParserException: Unknown function: onus.transPosting.RtSFailed

1 个答案:

答案 0 :(得分:7)

是的,您可以使用具有属性功能的简单语言:http://camel.apache.org/simple

<camel:setHeader headerName="actionId">
    <camel:simple>${properties:onus.transPosting.RtSFailed}</camel:simple>
</camel:setHeader>

虽然我认为我们已经修复了最新的Camel版本&lt;骆驼:常数&gt;也将解决财产占位符。