我有一個出站和入站JMS組件,每當消息通過它時,我都會自動丟失所有的頭部屬性,所以基本上只會發送消息有效負載。當Mule消息通過入站JMS組件時,刪除標題屬性?
你們建議我做什麼?通過消息發送變量作爲JMS屬性?
謝謝。
我有一個出站和入站JMS組件,每當消息通過它時,我都會自動丟失所有的頭部屬性,所以基本上只會發送消息有效負載。當Mule消息通過入站JMS組件時,刪除標題屬性?
你們建議我做什麼?通過消息發送變量作爲JMS屬性?
謝謝。
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
變量流中限制。
當消息經過端點時,所有入站屬性和調用變量都將丟失。只攜帶出站屬性和會話變量。
所有出站屬性都可以作爲接收端的入站屬性。
不錯的提示:)謝謝!順便說一句,在入站端點後的複製屬性?你的意思是JMS?但在那一點上,這些屬性都失去了,不是嗎? – msqar
看到我的編輯在答案 –
哦,我明白了,現在...感謝要去測試它:) – msqar