É possível incluir subfluxos em seus fluxos de mensagens exatamente da mesma forma que você inclui nós internos
ou definidos pelo usuário.
Você pode conectá-los com outros nós da mesma
forma. Como você pode definir um subfluxo uma vez e utilizá-lo em
mais de um fluxo de mensagens (e até mesmo em mais de um projeto do
fluxo de mensagens), um subfluxo pode fornecer benefícios:
- Tempo de desenvolvimento reutilizado e reduzido.
- Uma forma consistente de obter uma função específica e a
sustentabilidade dos fluxos de mensagens aumentada (considere um
subfluxo como análogo a uma macro de programação ou a um código
seqüencial gravado uma vez, mas utilizado em muitos locais).
- Flexibilidade. Se
você promover algumas ou todas as propriedades dos nós no subfluxo,
poderá ajustar um subfluxo a um contexto específico (por exemplo,
atualizando as informações da fila de saída ).
No entanto, lembre-se de que um subfluxo não é um único nó e,
sua inclusão aumenta o número de nós no fluxo de mensagens, que pode
afetar seu desempenho.
Considere estes exemplos de utilização
de subfluxos:
- Você pode definir um subfluxo que fornece um
destino comum para mensagens que resultam em um erro dentro do fluxo
de mensagens.

Utilize o nó Passagem para ativar a definição de versão de um subfluxo no tempo de execução. O nó Passagem permite incluir uma etiqueta em seu fluxo ou subfluxo de mensagens. Combinando essa etiqueta com a substituição de palavra-chave de seu sistema de controle de versão, é possível identificar qual versão de um subfluxo está incluída em uma fluxo de mensagens implementado. É possível utilizar esta etiqueta para suas próprias finalidades. Se você tiver incluído as palavras-chave corretas na etiqueta, é possível salvar o valor da etiqueta:
- Armazenado no arquivo BAR (Broker Archive), utilizando o comando mqsireadbar
- Conforme implementado pela última vez em um intermediário específico, nas propriedades de um fluxo de mensagens implementado no Message Brokers Toolkit
- No tempo de execução, se você ativar o rastreio de usuário para esse fluxo de mensagens.
A
mensagem que propaga em seu terminal externo é a mesma recebida em
seu terminal interno. Por
exemplo, se você desenvolver um subfluxo de processamento de erros a
ser incluído em vários fluxos de mensagens, será necessário
modificá-lo. No
entanto, convém introduzir a versão modificada, inicialmente, em apenas
um subconjunto dos fluxos de mensagens em que estiver incluído.
Defina um valor para a instância do nó Passthrough que identifique qual
versão do subfluxo foi incluída.

A utilização de subfluxos é demonstrada no Amostra Error Handler e no Amostra Coordinated Request Reply . A amostra Error Handler utiliza um subfluxo para captar informações sobre erros e armazenar as informações em um banco de dados. A amostra Coordinated Request Reply utiliza um subfluxo para encapsular o armazenamento dos valores ReplyToQ e ReplyToQMgr em uma mensagem do
WebSphere MQ de forma que a lógica de processamento possa ser facilmente reutilizada em outros fluxos de mensagens para permitir que implementações alternativas sejam substituídas.