E' possibile includere dei flussi secondari nei flussi di messaggi esattamente nello
stesso modo in cui si includono i nodi integrati
o definiti dall'utente.
E' anche possibile connetterli ad altri nodi nello
stesso modo. Poiché è possibile definire il flusso secondario una volta e utilizzarlo in più di un
flusso di messaggi (e anche in più di un progetto di flusso di messaggi),
un flusso secondario offre dei vantaggi:
- Riutilizzo e tempo di sviluppo ridotto.
- Un modo coerente per ottenere una particolare funzione e una maggiore capacità di gestione dei
flussi di messaggi (un flusso secondario va considerato in modo analogo ad una macro di programmazione
o ad un codice in linea scritto una volta ma utilizzato in molte ubicazioni).
- Flessibilità. Se si promuovono tutte o alcune delle proprietà dei nodi nel flusso
secondario, è possibile adattare un flusso secondario ad un contesto specifico (ad esempio,
aggiornando le informazioni relative alla coda di output o all'origine dati).
Tuttavia, è necessario ricordare che un flusso secondario non è un nodo singolo e la sua
inclusione aumenta il numero dei nodi nel flusso di messaggi, con la possibilità di effetti
negativi sulle sue prestazioni.
Considerare questi esempi relativi all'utilizzo dei flussi secondari:
- E' possibile definire un flusso secondario che fornisca una comune sequenza di azioni
che si applica a diversi flussi di messaggi se si verifica un errore.
Ad esempio, si potrebbe avere una routine di errore comune che scrive il messaggio in un
database attraverso il nodo Warehouse e lo inserisce in una coda per essere elaborato da una
routine di ripristino dell'errore. L'utilizzo di questa routine in più flussi di
messaggi o in diverse posizioni all'interno del flusso di messaggi, consente un utilizzo efficace e
coerente delle risorse ed evita di reinventare tali routine ogni volta che si verifica
un errore.
- Si potrebbe avere un tipo di calcolo comune che si desidera venga eseguito su quei
messaggi che passano attraverso molti flussi di messaggi differenti. Ad esempio, si potrebbe accedere
ai tassi di cambio di valuta estera da un database e applicare tali tassi per calcolare i prezzi di molte
valute diverse. E' possibile includere il flusso secondario del calcolatore di valuta
in ciascuno dei flussi di messaggi in cui sia appropriato.

Utilizzare il nodo Passthrough per supportare la creazione di versioni di un flusso secondario
durante il runtime. Il nodo Passthrough consente di aggiungere un'etichetta al flusso o al flusso secondario del messaggio. Combinando questa etichetta con la sostituzione della parola chiave dal sistema di controllo versione,
è possibile identificare quale versione di un flusso secondario è inclusa in un flusso di messaggi
distribuito. È possibile utilizzare questa etichetta per i propri scopi. Se sono state incluse le
parole chiave della versione corrette nell'etichetta, è possibile visualizzare il valore dell'etichetta:
- Memorizzata in un file BAR (broker archive) utilizzando il comando
mqsireadbar
- Distribuita a un determinato broker, sulle proprietà di un flusso di messaggi distribuito
in Message Brokers Toolkit
- Durante il run time, se si abilita la traccia utente per tale flusso di messaggi.
Il messaggio che esso trasmette sul proprio
terminale out è lo stesso messaggio che esso ha ricevuto sul proprio terminale
in. Ad esempio, se si sviluppa un flusso secondario di elaborazione degli errori
da includere in diversi flussi di messaggi, si potrebbe voler modificare quel
flusso secondario. Tuttavia, si potrebbe voler introdurre la versione modificata inizialmente solo in una serie
secondaria dei flussi di messaggi in cui essa è inclusa. Impostare un valore per l'istanza del nodo Passthrough che identifichi quale versione del flusso
secondario è stata inclusa.

L'utilizzo dei flussi secondari è illustrato nell'esempio riportato di seguito:
L'utilizzo dei flussi secondari è dimostrato nell'Esempio Programma di gestione degli errori e nell'esempio Richiesta/Replica coordinate. L'esempio Programma di gestione degli errori utilizza un flusso secondario per reperire le informazioni relative agli
errori e memorizzare tali informazioni in un database. L'esempio di Richiesta/Replica coordinata
utilizza un flusso secondario per integrare la memorizzazione dei valori di ReplyToQ e ReplyToQMgr
in un messaggio WebSphere MQ in modo che la logica di elaborazione possa essere facilmente
riutilizzata in altri flussi di messaggi e per consentire la sostituzione di implementazioni
alternative.