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

Acessando a Árvore ExceptionList Utilizando ESQL

A árvore ExceptionList possui seu próprio nome de correlação, ExceptionList e é necessário utilizá-lo em todas as instruções ESQL que fazem referência ou definem o conteúdo dessa árvore.

Essa árvore é criada quando a árvore lógica é criada, quando uma mensagem de entrada é analisada. Ela está inicialmente vazia e será ocupada apenas se ocorrer uma exceção durante o processamento do fluxo de mensagens. É possível que mais de uma exceção ocorra; se isso ocorrer, a árvore ExceptionList conterá uma subárvore para cada exceção.

Você pode acessar a árvore ExceptionList nos nós Compute, Banco de Dados e Filter e pode atualizá-la em um nó Compute. É necessário utilizar o nome de correlação apropriado; ExceptionList para um nó Banco de Dados ou Filter e InputExceptionList para um nó Compute.

Talvez você queira acessar essa árvore em um nó em um procedimento de tratamento de erros. Por exemplo, talvez você queira rotear a mensagem para um caminho diferente, com base no tipo de exceção, por exemplo, uma que foi gerada explicitamente utilizando uma instrução ESQL THROW ou uma que foi gerada pelo intermediário.

O ESQL a seguir mostra como você pode acessar a Lista de Exceção e processar cada filho que ela contém:

-- Declare a reference for the ExceptionList
-- (em um nó Compute, utilize InputExceptionList)
DECLARE start REFERENCE TO ExceptionList.*[1];

-- Loop through the exception list children
WHILE start.Number IS NOT NULL DO 
   -- more ESQL

   -- Move start to the last child of the field to which it currently points 
   MOVE start LASTCHILD;
END WHILE;         

O exemplo a seguir mostra um trecho do ESQL que foi codificado para um nó Compute para fazer o loop pela lista de exceção para a última descrição de exceção (aninhada) e extrair o número do erro. Esse erro está relacionado à causa original do problema e normalmente fornece as informações mais precisas. A ação seguinte tomada pelo fluxo de mensagens pode ser resolvida pelo número do erro recuperado desta forma.

CREATE PROCEDURE getLastExceptionDetail(IN InputTree reference,OUT messageNumber integer,
OUT messageText char)	
    /****************************************************************************
	 * A procedure that will get the details of the last exception from a message
	 * IN InputTree: The incoming exception list
	 * IN messageNumber: The last message numberr.
	 * IN messageText: The last message text.
	 *****************************************************************************/
   BEGIN
   	    -- Create a reference to the first child of the exception list
   	    declare ptrException reference to InputTree.*[1];
   	    -- keep looping while the moves to the child of exception list work 
		WHILE lastmove(ptrException) DO
			-- store the current values for the error number and text
			IF ptrException.Number is not null THEN
        		SET messageNumber = ptrException.Number;
        		SET messageText = ptrException.Text;
  			END IF;
  			-- now move to the last child which should be the next exceptionlist
			move ptrException lastchild;
		END WHILE; 
	END;
Para obter mais informações sobre a utilização de ExceptionList, analise o subfluxo na amostra a seguir que inclui ESQL que interroga a estrutura ExceptionList e realiza a ação específica de acordo com seu conteúdo:

Você só pode visualizar informações sobre amostras quando usa o centro de informações que está integrado ao WebSphere Message Broker Toolkit ou o centro de informações on-line. Você só poderá executar amostras quando usar o centro de informações que está integrado ao WebSphere Message Broker Toolkit.

Para obter informações sobre como acessar a árvore ExceptionList usando Java™, consulte Acessando o Uso da Árvore ExceptionList Java

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


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