2012-12-26 85 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

我的不好,我應該提到我使用的是什麼版本,我相應地更新了這個問題。無論如何,簡單的屬性函數爲我工作。 非常感謝你 :) –

相關問題