2012-12-26 32 views
5

是否可以将消息头设置为从属性文件中读取的值,使用骆驼属性组件?我可以将这些属性设置为URI选项,但我无法将它们设置为标题值。如何在Apache Camel中将头设置为属性文件中的值

我需要的是这样的:

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

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

注:我使用Apache的骆驼2.10.1

UPDATE

使用<propertyPlaceholder>通过this discussion的建议没有工作,它会导致异常:

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

+0

' $ {onus.transPosting.RtsFailed}'不起作用? (和Apache Camel一样没有经验) –

+0

不,它不是:( –

+0

看到这个讨论:http://camel.465427.n5.nabble.com/using-values-from-a-properties-file-in -setHeader-method-td5154287.html –

回答

7

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

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

虽然我认为我们已经修复了最新的骆驼版本,<驼峰:constant>也会解析属性占位符。

+1

我的不好,我应该提到我使用的是什么版本,我相应地更新了这个问题。无论如何,简单的属性函数为我工作。 非常感谢你 :) –

相关问题