2016-06-28 110 views
0

我有一個場景,我將使用MQ Input節點接收消息,並基於消息中存在的源系統的值,我需要形成主題字符串併發布信息。這是我的流程是如何的樣子:在多個主題字符串上發佈消息(IBM Integration Bus)

MQInput - >計算 - >公佈

我用填充主題的價值: SET OutputRoot.Properties.Topic = 'TopicName /' || sourceName;

這適用於情況消息包含一個源系統。

但是有可能消息包含多個源系統。是否可以使用上述命令在多個主題字符串上發佈消息? (類似這樣)

SET OutputRoot.Properties.Topic ='Topic /'|| sourceName1;

SET OutputRoot.Properties.Topic ='Topic /'|| sourceName2;

欣賞任何建議。

回答

1

您應該從設置了不同主題字符串的Compute節點傳播2個單獨的消息。

您可以傳播消息而不使用PROPAGATE ESQL語句返回。 所以,你的代碼應該是這個樣子:

<Create message in OutputRoot> 

SET OutputRoot.Properties.Topic = 'TopicName/' || sourceName1; 
PROPAGATE DELETE NONE; 

SET OutputRoot.Properties.Topic = 'TopicName/' || sourceName2; 
RETURN TRUE; 
0

在屬性,你可以只設定一個爲每個屬性值。

要做你想做的事情,你必須生成多個消息,這是通過在ESQL中使用PROPAGATE關鍵字完成的,如上面所建議的。

相關問題