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

Propagando uma Mensagem para os Terminais Out e Alternate do Nó JavaCompute

O nó JavaCompute possui dois terminais de saída, Out e Alternate. Portanto, é possível utilizar o nó como um nó filter e como um nó message transformation. Depois de processar a mensagem, propague-a para um terminal de saída usando um método propagate().

Para propagar a montagem da mensagem para o terminal de Saída, utilize o seguinte método:
out.propagate(assembly);
Para propagar a montagem da mensagem para o terminal Alternativo, utilize o seguinte método:
alt.propagate(assembly);
Para propagar o mesmo objeto MbMessage múltiplas vezes, chame o método finalizeMessage() no objeto MBMessage, de forma que quaisquer mudanças feitas na mensagem sejam refletidas no fluxo de bits que é gerado no recebimento de dados do nó JavaCompute; por exemplo:
MbMessage outMessage = new MbMessage(inMessage);
MbMessageAssembly outAssembly = new MbMessageAssembly(inAssembly, outMessage);
...
newMsg.finalizeMessage(MbMessage.FINALIZE_NONE);
out.propagate(outAssembly);
...
newMsg.finalizeMessage(MbMessage.FINALIZE_NONE);
out.propagate(outAssembly);
Quando você propaga várias vezes a partir de um nó JavaCompute, em que um novo MbMessage é criado toda vez, use o código a seguir:
MbOutputTerminal.propagate(MbMessageAssembly, true)
Este código recupera a árvore de mensagens e os recursos do analisador após a propagação para que esses recursos possam ser usados quando o próximo MbMessage for construído para propagação. É possível ver um exemplo em Trabalhando com Mensagens de Entrada Grandes para Propagar Várias Mensagens de Saída.

Quando você usa esse código, os recursos da árvore de mensagens são recuperados para os MbMessages que não são somente leitura no MbMessageAssembly. Como resultado, o método MbMessage.clearMessage(true) é chamado em cada MbMessage modificável; portanto, esses MbMessages não podem ser usados novamente.

Se os campos da árvore de mensagens eram locais para cada MbMessage, ou foram apenas removidos ou anexados entre os três MbMessages no MbMessageAssembly, os analisadores também serão recuperados para reutilização. Entretanto, se os elementos foram removidos e anexados a um MbMessage que não foi propagado, os analisadores não poderão ser reutilizados nas próximas iterações de registros de entrada.

Para tais objetos MbMessage que não foram propagados, chame o método MbMessage.clearMessage(true) explicitamente antes de o próximo registro de entrada ser processado. Esse método permite que os analisadores sejam reutilizados.

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


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