2013-10-04 39 views

回答

2

Inbound屬性不會在傳輸中傳播。除非你明確地複製它們,否則你會失去它們。

Outbound當您將出站請求發送到JMS隊列(或針對該事件的任何其他傳輸)時,屬性將被複制並作爲入站屬性接收。

當您收到入站請求並且現在意圖將該屬性傳播到出站端點時,請顯式複製所需的屬性或執行快捷方式步驟,並在入站端點之後複製像這樣的所有屬性。

<flow name="flowName"> 
    <jms:inbound-endpoint queue="queueName" exchange-pattern="one-way" /> 
    <copy-properties propertyName="*" /> 
..... 
</flow> 

這將

<copy-properties propertyName="*" />

複製入站性質flowName即將出站的屬性。

還請確保您正確訪問屬性。

訪問入境屬性:#[message.inboundProperties['propertyName']]

訪問出境屬性:#[message.outboundProperties['propertyName']]

Invocation變量流中限制。

+0

不錯的提示:)謝謝!順便說一句,在入站端點後的複製屬性?你的意思是JMS?但在那一點上,這些屬性都失去了,不是嗎? – msqar

+0

看到我的編輯在答案 –

+0

哦,我明白了,現在...感謝要去測試它:) – msqar

2

當消息經過端點時,所有入站屬性和調用變量都將丟失。只攜帶出站屬性和會話變量。

所有出站屬性都可以作爲接收端的入站屬性。