Subfluxo de Erro para o Padrão do Message Splitter para WebSphere MQ: Unidirecional
(para XML)
Se um erro ocorrer, use o subfluxo de Erro para rotear a mensagem de erro.
Para rotear a mensagem de erro, use uma das ações a seguir:
- Salve quaisquer elementos de mensagens que não possam ser roteados para uma fila de mensagens inválidas separada e continue
processando elementos adicionais
- Cancele a transação e reverta a mensagem de entrada
Qualquer falha no fluxo de Roteamento direciona a mensagem propagada, contendo um elemento de mensagem, ao
terminal de Falha do subfluxo de Rota. O status do erro é registrado em
Environment.PatternVariables.FailureStatus e o número de elementos inválidos
é incrementado.
Escolha uma Ação de Mensagem Inválida para determinar a ação a executar após uma
falha:
- Salvar
- O nó Falha está conectado a um nó MQOutput e o elemento de mensagem é gravado na fila de
mensagens inválida. O controle é retornado ao loop de processamento no nó Cálculo do Splitter de Mensagem e
o processamento continua.
- Quando todos os registros forem processados, o nó de Cálculo do Splitter de Mensagem passará o controle ao subfluxo de Erro,
onde é feita uma verificação para determinar se quaisquer elementos de mensagem inválidos são salvos. Se elementos de mensagem inválidos forem salvos,
e mensagens de erro forem necessárias, uma mensagem de erro será produzida, indicando o número de elementos com
erro.
- Cancelar
- O nó Falha do subfluxo de Rota não está conectado e erros de roteamento são transmitidos de volta ao
nó de Cálculo do Splitter de Mensagem, o qual detecta o status da falha e gera uma exceção. Quaisquer exceções,
diferentes das falhas de roteamento, fazem com que a ação Cancelar ocorra. É
assumido que todas estas exceções são irrecuperáveis e não é seguro continuar o processamento.
- Se as mensagens de erro forem requeridas, uma mensagem de erro será preparada e gravada na fila de erros.
Detalhes da exceção são gravadas como uma mensagem XML. Os detalhes incluem:
- Nome do broker
- Nome do fluxo
- Registro de data e hora
- Resumo dos dados da exceção
- Um erro do usuário é produzido para reverter a mensagem de entrada e quaisquer elementos de mensagem que já foram
processados. Neste caso, a manipulação de restauração deve ocorrer na infraestrutura do WebSphere MQ; por exemplo,
usando uma fila de restauração.
A restauração não ocorre em exceções que ocorrem após todos os elementos de mensagem terem sido gravados
com êxito. Este tipo de exceção pode ocorrer em mensagens de erro ou mensagens de log.