2016-06-28 7 views
0

Ich habe ein Szenario, in dem ich Nachricht mit MQ Input-Knoten erhalten würde und basierend auf dem Wert des Quellsystems in der Nachricht, muss ich Topic-String erstellen und veröffentlichen Botschaft. Dies ist, wie mein Flow wie folgt aussieht:Veröffentlichen Sie Nachricht für mehrere Themenzeichenfolgen (IBM Integration Bus)

MQInput -> Compute -> Veröffentlichung

Und ich bevölkern den Wert Thema mit: SET OutputRoot.Properties.Topic = 'topicname /' || Quellenname ;

Dies funktioniert gut, wenn die Nachricht ein Quellsystem enthält.

Es besteht jedoch die Möglichkeit, dass die Nachricht mehrere Quellsysteme enthält. Ist es möglich, den oben genannten Befehl zum Veröffentlichen der Nachrichten in mehreren Themenzeichenfolgen zu verwenden? (so etwas)

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

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

Schätzen Sie alle Vorschläge.

Antwort

1

Sie sollten 2 separate Nachrichten vom Compute-Knoten mit unterschiedlichen Themenzeichenfolgen propagieren.

Sie können eine Nachricht ohne Rückgabe der PROPAGATE ESQL-Anweisung weitergeben. So Ihr Code sollte wie folgt aussehen:

<Create message in OutputRoot> 

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

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

In den Eigenschaften können Sie nur einen Wert für jede Eigenschaft festgelegt.

Um das zu tun, was Sie tun möchten, müssen Sie mehrere Nachrichten generieren, und zwar mithilfe des Schlüsselwortes PROPAGATE in ESQL, wie oben vorgeschlagen.

Verwandte Themen