WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

Manipulando Exceções em Fluxos de Agregação

Ao utilizar fluxos de agregação, podem ocorre exceções.

Antes de começar:

Conclua as seguintes tarefas:

Lidando com Exceções

Se for detectado um erro no recebimento de dados de um nó AggregateReply, o intermediário emite uma exceção. Outro nó no fluxo de mensagens também pode emitir uma exceção utilizando a instrução ESQL THROW. Em qualquer caso, quando uma exceção ocorre, ela é capturada em um de dois locais:

  • O nó input no qual as respostas chegam
  • O nó AggregateReply

A tabela a seguir lista eventos e descreve o que ocorre a uma exceção e o que ocorre no recebimento de dados do nó AggregateReply.

Evento Mensagem Propagada Terminal de Saída Exceção Capturada em
Uma resposta esperada chega no nó input e é transmitida para o terminal In do nó AggregateReply. A resposta é a última necessária para tornar uma agregação completa. Uma mensagem de resposta agregada que contém todas as respostas Saída Nó de Entrada
Uma resposta inesperada chega no nó de entrada e é transmitida ao nó AggregateReply. A resposta não é reconhecida como uma resposta válida e a propriedade Tempo Limite de Mensagem Desconhecido é configurada para 0. Mensagem recebida Desc. Nó de Entrada
Um tempo limite ocorre porque todas as respostas de uma agregação ainda não chegaram. Uma mensagem de resposta agregada que contém todas as respostas que foram recebidas Tempo Limite AggregateReply
Ocorre um tempo limite desconhecido, pois uma mensagem retida não está identificada como uma resposta válida. Mensagem retida Desc. AggregateReply
Descobre-se que uma agregação foi concluída em algum momento diferente de quando a última resposta chegou. Uma mensagem de resposta agregada que contém todas as respostas Saída AggregateReply

Para tratar de erros que ocorrem nos fluxos de agregação, você deve capturar essas exceções em todas as instâncias de cada um desses nós no fluxo de mensagens.

  1. Alterne para o Perspectiva do Desenvolvimento de Aplicativos do Intermediário.
  2. Abra o fluxo de mensagens com o qual você deseja trabalhar.
  3. Para que você mesmo manipule essas exceções, conecte o terminal Catch de cada nó de entrada e AggregateReply a uma seqüência de nós que trata do erro que ocorreu.

    Para uma abordagem unificada para manipulação de erros, conecte os terminais Catch de todos esses nós a uma única seqüência de nós ou crie um subfluxo que manipula erros de maneira única e consistente e conecte esse subfluxo a cada terminal Catch.

  4. Se desejar que o intermediário manipule essas exceções utilizando manipulação de erros padrão, não conecte os terminais Catch desses nós.
Se você conectar o terminal Catch do nó AggregateReply e quiser enviar a mensagem propagada por esse terminal para um destino a partir do qual possa ser recuperada para processamento posterior, inclua um nó Compute no fluxo de captura para fornecer qualquer processamento específico do transporte. Por exemplo, você deve incluir um cabeçalho MQMD se quiser colocar a mensagem em uma fila do WebSphere MQ a partir de um nó MQOutput.

O exemplo de ESQL a seguir mostra como incluir um cabeçalho MQMD e transmitir as respostas que são recebidas pelo nó AggregateReply:

-- Incluir MQMD
SET OutputRoot.MQMD.Version = 2;
.
-- Incluir respostas consolidadas na mensagem de saída
SET OutputRoot.XMLNS.Data.Parsed = InputRoot.ComIbmAggregateReplyBody;
.

Para propagar as informações sobre a exceção na mensagem de saída, configure a propriedade Modo de Computação do nó Compute para um valor que inclua Exceção.

Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:28:22


Tópico de TarefaTópico de Tarefa | Versão 8.0.0.5 | ac12340_