5

是否可以使用骆驼属性组件将消息头设置为从属性文件中读取的值?我可以将此类属性设置为 URI 选项,但无法将它们设置为标头值。

我需要这样的东西:

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

其中onus.transPosting.RtSFailed是在使用骆驼属性组件导入的文件上设置的属性键。

注意:我使用的是 Apache Camel 2.10.1

更新

使用本讨论<propertyPlaceholder>所建议的不起作用,它会导致异常:

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

4

1 回答 1

7

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

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

虽然我认为我们已经在最新的 Camel 版本中修复了 < camel:constant > 也将解析属性占位符。

于 2012-12-27T12:20:19.687 回答