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

Coleta de Mensagens

Uma colecta de mensagens é uma única mensagem que contém múltiplas mensagens derivadas de uma ou mais fontes.

É possível utilizar um nó Collector para agrupar mensagens de uma ou mais origens em uma coleta de mensagens, para que elas possam ser processadas juntas por nós de recebimento de dados. Também é possível construir manualmente uma coleta de mensagens utilizando um nó Compute.

Estrutura de uma coleta de mensagens

Uma árvore de coleta de mensagens contém subárvores que incluem o conteúdo das mensagens individuais recebidas pelo nó Collector. A montagem de mensagem que é propagada do nó Collector para outros nós em seu fluxo de mensagens contém os quatro componentes a seguir:
  • Mensagem (incluindo cabeçalhos de transporte)
  • Ambiente local
  • Ambiente global
  • Lista de Exceções
A figura a seguir mostra um exemplo da estrutura em árvore de mensagens de uma coleta de mensagens.

Este é um diagrama da árvore para uma coleta de mensagens. Seu conteúdo é descrito pelo texto ao redor.
A coleta de mensagens neste exemplo contém duas mensagens, uma recebida do WebSphere MQ, e uma de uma origem de entrada de arquivo.

Uma coleta de mensagens tem um cabeçalho de Propriedades e um único elemento de pasta denominado Coleta. Uma coleta de mensagens também pode ter zero ou mais atributos que são pares nome/valor; o nome de um atributo deve ser exclusivo em uma coleta de mensagens. São mostrados como <name> / <value> na figura. Um atributo padrão para a coleta de mensagens é um atributo chamado CollectionName. Se você utilizar um nó Collector para gerar uma coleta de mensagens, o valor para o nome da coleta será gerado com base nos valores configurados no nó. O atributo de nome da coleta não é obrigatório.

Na pasta Coleta na estrutura em árvore de coleta de mensagens estão as pastas, conforme mostrado em <folder name> no diagrama. Estas pastas contêm a árvore de mensagens de cada mensagem incluída na coleta de mensagens. Cada uma destas pastas possui um nome, mas este nome não precisa ser exclusivo na coleta de mensagens. O valor para o <folder name> é derivado da origem da mensagem de entrada.

Não são permitidas coletas de mensagens aninhadas. Não é possível utilizar uma coleta de mensagens como uma mensagem de origem para outra coleta de mensagens. Por exemplo, e você tentar transmitir uma coleta de mensagens para um terminal de entrada em um nó Collector, será gerado um erro.

As árvores LocalEnvironment, Ambiente e ExceptionList não estão incluídas na estrutura, mas são transportadas separadamente como uma parte da montagem da mensagem. Não há um conceito de um LocalEnvironment associado a cada mensagem em uma coleta de mensagens.

Gerando uma Coleta de Mensagens Utilizando um Nó Collector

É possível utilizar o nó Collector para fazer vários pedidos síncronos ou assíncronos em paralelo. Os resultados destes pedidos podem ser unidos no recebimento de dados, se necessário. Isto é diferente do comportamento dos nós de agregação, no qual há um padrão fixo de pedido/resposta e no qual as mensagens de resposta são agrupadas por ID do pedido. Em contraste, o nó do coletor não precisa de uma etapa de fan-out inicial e pode agrupar mensagens de entrada não relacionadas, correlacionando seu conteúdo. É possível configurar terminais de entrada dinâmicos em um nó Collector para receber mensagens de diferentes origens. Também é possível configurar propriedades no nó Collector, conhecidas como manipuladores de eventos, para determinar como as mensagens serão incluídas em uma coleta de mensagens, e quando uma coleta de mensagens será concluída.

Processando uma Coleta de Mensagens

Uma coleta de mensagens é suportada apenas pelos seguintes nós:
  • Compute
  • JavaCompute
Serão gerados erros por outros nós se eles receberem uma coleta de mensagens.
É possível utilizar expressões ESQL ou XPath para acessar o conteúdo de mensagens em uma coleta de mensagens, fazendo referência aos nomes de pastas precedido por InputRoot.Collection. Para acessar o conteúdo de uma mensagem em uma coleta de mensagens utilizando ESQL, você pode utilizar um código semelhante à seguinte ESQL:
InputRoot.Collection.folder1.XMLNSC
No XPath, o elemento raiz é o corpo da mensagem. O elemento raiz para uma coleta de mensagens é o elemento Coleta. Portanto, para acessar o conteúdo de uma mensagem em uma coleta de mensagens utilizando XPath, você deve utilizar uma expressão similar ao seguinte XPath:
/folder1/XMLNSC
Os exemplos de expressões XPath que podem ser utilizados para acessar a coleta de mensagens são:
  • /*: retorna uma lista de todas as mensagens na coleta de mensagens.
  • /@*: retorna uma lista de todos os atributos da coleta de mensagens.
  • /@Name: retorna o valor do atributo Name.

Talvez não seja possível determinar a ordem das mensagens em uma coleta de mensagens. Se você gerar uma coleta de mensagens utilizando o nó Collector, as mensagens serão organizadas na mesma ordem em que as mensagens chegaram ao nó.

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


Tópico de ConceitoTópico de Conceito | Versão 8.0.0.5 | ac37690_