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

Capturando Exceções em um Nó TryCatch

Você pode projetar um fluxo de mensagens para capturar exceções antes que sejam retornados ao nó input. É possível incluir um ou mais nós TryCatch em um fluxo para fornecer um único ponto de falha para uma sequência de nós. Com essa técnica, você pode fornecer uma recuperação ou processamento de erros muito específico.

Um nó TryCatch não processa uma mensagem de nenhuma maneira, ele representa apenas um ponto de decisão em um fluxo de mensagens. Quando o nó TryCatch recebe uma mensagem, ele a propaga para o terminal Try. O intermediário analisa o controle para a seqüência de nós conectados a esse terminal (o fluxo de tentativas).

Se for emitida uma exceção no fluxo de tentativa, o broker retornará o controle ao nó TryCatch. O nó grava o conteúdo atual da árvore da lista de exceções no log de erros local, em seguida, grava as informações para a exceção atual na árvore da lista de exceções, sobrescrevendo as informações que estão armazenadas lá.

O nó propaga a mensagem para a sequência de nós conectados ao terminal Catch (o fluxo de captura). O conteúdo da árvore de mensagens que é propagado é idêntico ao conteúdo que foi propagado para o terminal de Tentativa, que é o conteúdo da árvore quando o nó TryCatch o recebeu pela primeira vez. O nó aprimora a árvore de mensagens com as novas informações da exceção que ele gravou na árvore da lista de exceções. Quaisquer modificações ou adições que os nós no fluxo de tentativa fizeram na árvore de mensagens não estão presentes na árvore de mensagens que é propagada ao fluxo de captura.

Entretanto, se o fluxo de tentativa tiver concluído o processamento que envolve atualizações nos bancos de dados externos, estas atualizações não serão perdidas; elas persistirão enquanto a mensagem for processada pelo fluxo de captura e a decisão sobre se as atualizações serão confirmadas ou retrocedidas será feita na configuração de seu fluxo de mensagens e nos nós individuais que interagem com os bancos de dados. Se as atualizações forem confirmadas devido à configuração que você definiu, você deverá incluir a lógica em seu fluxo de captura que retrocede as alterações que foram feitas.

Para rever as opções para configuração, consulte Configurando a Transacionalidade para os Fluxos de Mensagens.

O broker retorna o controle ao próximo ponto de captura no fluxo de mensagens (que pode ser outro nó TryCatch, mas é sempre, no último caso, o nó de entrada) se uma das seguintes condições for verdadeira:

O exemplo a seguir mostra como você pode configurar o fluxo para capturar exceções no nó de entrada. O terminal Catch do nó MQInput está conectado a um nó Trace para registrar o erro.

Esse fluxo de mensagens possui um nó MQInput, um nó Compute e um nó MQOutput. O terminal de captura do nó MQInput está conectado a um nó Trace.

No exemplo a seguir, o fluxo de mensagens possui dois fluxos de processamento separados conectados aos terminais True e False do nó Filter. Aqui um nó TryCatch está incluído em cada uma das duas rotas que a mensagem pode percorrer. O terminal Catch dos nós TryCatch está conectado a um subfluxo de processamento de erros comum.

Esse fluxo de mensagens possui um nó MQInput seguido por um nó Filter que foi codificado para testar um valor na mensagem. Um nó TryCatch está conectado ao terminal true do nó Filter e seu terminal é conectado a um nó Compute seguido por um terminal MQOutput. O terminal catch é conectado a um subfluxo denominado error1 que fornece uma rotina de processamento de erro comum. Um segundo terminal TryCatch é conectado ao terminal false do nó Filter. Os terminais de tentativa e de captura são conectados para seqüências de nós idênticas ao primeiro terminal TryCatch.

Se o nó de entrada em seu fluxo de mensagens não tiver um terminal Catch, e você desejar processar erros no fluxo, deverá incluir um nó TryCatch.

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:25


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