Fluxo de Pedido para o Padrão de Message Correlator para WebSphere MQ: Pedido-Resposta sem Persistência
O fluxo de Pedido é executado como um fluxo transacional.
Mensagens recebidas pelo fluxo de Pedido
são processadas da seguinte maneira:
- Quando uma mensagem é recebida pelo fluxo de mensagens, uma verificação é feita para assegurar que o cabeçalho MQMD contém
uma fila de resposta.
Um erro será produzido se este campo estiver em branco.
- Quando uma mensagem é recebida pelo fluxo de mensagens, uma cópia do cabeçalho
MQMD da mensagem é obtida e modificada configurando o identificador de
correlação para o identificador de mensagem. O conteúdo do cabeçalho da mensagem é salvo em
uma fila para preservar o endereço de resposta original. Configurar o identificador
de correlação no cabeçalho salvo assegura que quando o cabeçalho for
recuperado e incluído na resposta para o solicitante,
o valor será correto e permitirá a recuperação do solicitante pelo identificador de correlação.
- O fluxo de mensagens inclui um subfluxo chamado RequestProcessor.
Este subfluxo contém apenas um nó de Passagem, portanto,
nenhum processamento é executado.
É possível customizar este subfluxo em sua instância padrão para incluir seu próprio processamento
sem alterar a estrutura do padrão.
- O cabeçalho MQMD da mensagem recebida é modificado para substituir o gerenciador de filas de resposta
e a fila de resposta do solicitante com o endereço do nó de entrada do fluxo de mensagens
de Resposta.
- A mensagem é encaminhada para o aplicativo do provedor.
- O fluxo de mensagens pode conter um subfluxo para criação de log, chamado Log.
É possível configurar o padrão para incluir, ou excluir, o subfluxo de Log.
- Se a criação de log não for necessária, o fluxo de mensagens finalizará com êxito após gravar a mensagem na
fila do provedor e a transação for confirmada.
- O fluxo de mensagens também contém um subfluxo para manipulação de erros, chamado Erro.
- Se ocorrerem tempos limites no aplicativo do solicitante,
fluxos de mensagens ou aplicativo do provedor, as mensagens não persistentes expiraram.