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

Cenário de Sequenciamento de Mensagens 2

Altere a sequência de mensagens recebidas do WebSphere MQ, para que elas sejam propagadas na ordem correta usando um número de sequência definido em uma mensagem XML.

Antes de começar:

Leia o tópico de conceito sobre Sequenciamento de Mensagens.

Nesta tarefa de exemplo, a sequência é definida como iniciando no número de sequência 0 (que é o padrão) e terminando quando ela não tiver recebido nenhuma nova mensagem no grupo por 60 segundos. O fluxo de mensagens é configurado para que as mensagens possam chegar fora de ordem mas o nó Resequence tenta propagá-las na ordem correta. Se uma mensagem necessária na sequência falhar em chegar por 10 segundos, o nó Resequence ignorará a mensagem ausente e propagará a próxima mensagem na sequência, embora ela agora esteja fora de ordem.

As etapas a seguir mostram como gravar um fluxo de mensagens que pode receber o documento XML do WebSphere MQ, reordenar as mensagens com base em um número de sequência em uma mensagem XML (neste exemplo o caminho $Root/XMLNSC/Doc/SeqNo é usado) e gravar em uma fila do WebSphere MQ:

  1. Crie um fluxo de mensagens chamado Resequence_Task2, contendo um nó MQInput, um nó Resequence e um nó MQOutput. Para informações adicionais sobre como fazer isto, consulte Criação de um Fluxo de Mensagens.
  2. Conecte o terminal Out do nó MQInput ao terminal In do nó Resequence.
  3. Conecte os terminais Out, Missing e Expire do nó Resequence no terminal In do nó MQOutput.
    Fluxo de mensagens consistindo em nós MQInput, Resequence e MQOutput.
  4. Configure as seguintes propriedades do nó MQInput:
    1. Na guia Básico, configure a propriedade Nome da Fila como RESEQUENCE_TASK2_IN1
    2. Na guia Análise de Mensagem de Entrada, configure a propriedade Domínio de Mensagem como XMLNSC.
  5. No nó Resequence, configure as propriedades a seguir na guia Básico:
    1. Configure a propriedade Caminho para número de sequência como $Root/XMLNSC/Doc/SeqNo
    2. Configure a propriedade Tempo limite da mensagem ausente como 10
    3. Configure a propriedade Fim de Definição de Sequência para Automático com um valor de 60.
  6. No nó MQOutput, configure a propriedade Nome da Fila (na guia Básico) como RESEQUENCE_TASK2_OUT1.
  7. Salve o fluxo de mensagens.

Processamento de mensagens no fluxo de mensagens:

Esta seção descreve a maneira na qual o nó Resequence processa as mensagens que entram no fluxo de mensagens:

  1. As seguintes mensagens chegam na fila do WebSphere MQ RESEQUENCE_TASK2_IN1:
    <Doc><SeqNo>0</SeqNo></Doc>,<Doc><SeqNo>1</SeqNo></Doc>,<Doc><SeqNo>2</SeqNo></Doc>,
    <Doc><SeqNo>3</SeqNo></Doc>,<Doc><SeqNo>4</SeqNo></Doc>,<Doc><SeqNo>5</SeqNo></Doc>,
    <Doc><SeqNo>6</SeqNo></Doc>,<Doc><SeqNo>7</SeqNo></Doc>,<Doc><SeqNo>8</SeqNo></Doc>,
  2. O nó Resequence primeiro recebe a mensagem com o número de sequência 0. O nó Resequence cria um novo grupo de sequências para gerenciar o processo de reordenação; o novo grupo de sequências é um grupo padrão porque nenhum grupo de sequências foi definido na mensagem. A mensagem (com número de sequência 0) é a primeira na sequência, portanto, ela é propagada para o terminal Out.
  3. O nó Resequence, em seguida, recebe o restante das mensagens até, e incluindo, o número de sequência 8, e as propaga na ordem na qual elas chegaram. Cada mensagem é armazenada antes de ser propagada e uma transação diferente é usada para propagar o recebimento de dados das mensagens a partir do nó Resequence.
  4. Sessenta segundos decorrem e o grupo de sequências é fechado.
  5. As próximas mensagens chegam na fila do WebSphere MQ RESEQUENCE_TASK2_IN1:
    <Doc><SeqNo>0</SeqNo></Doc>,<Doc><SeqNo>3</SeqNo></Doc>,<Doc><SeqNo>2</SeqNo></Doc>,
    <Doc><SeqNo>4</SeqNo></Doc>,<Doc><SeqNo>6</SeqNo></Doc>,<Doc><SeqNo>7</SeqNo></Doc>,
  6. O nó Resequence primeiro recebe a mensagem contendo o número de sequência 0. Neste ponto, o nó Resequence cria um novo grupo de sequências (padrão) e propaga a mensagem com o número de sequência 0 para o terminal Out.
  7. A próxima mensagem contém o número de sequência 3, que está fora de sequência. A propriedade Tempo Limite da Mensagem Ausente é configurada no nó Resequence com um valor de 10 segundos e o cronômetro inicia.
  8. O número de sequência 2 chega, que ainda não é a próxima mensagem necessária, mas é menor que a mensagem mais baixa atualmente armazenada, portanto, o cronômetro da mensagem ausente é reconfigurado.
  9. O nó Resequence então recebe o restante das mensagens, todos elas possuem um número de sequência maior que 2, portanto, elas são armazenadas mas não propagadas. O cronômetro da mensagem ausente não é reconfigurado desta vez porque cada número é posterior ao número 2 na sequência.
  10. O número de sequência 1 falha em chegar durante o período especificado e, após 10 segundos, o período de tempo limite expira.
  11. O nó Resequence propaga todas as mensagens que estão armazenadas, começando com o número de sequência mais baixo (neste caso, 2) seguido por todas as outras mensagens até o próximo número ausente na sequência (neste caso, mensagens com os números de sequência 3 e 4). As mensagens 2, 3 e 4 são propagadas para o terminal Expire.
  12. O nó Resequence é movido para um estado não-ordenado para este grupo de sequências e não propagará qualquer mensagem neste grupo para o terminal Out. O nó Resequence permanece no estado não-ordenado para este grupo de sequências até que o grupo expire e seja fechado.
  13. Quando outros 10 segundos tiverem passado, o cronômetro de mensagem ausente expirará novamente e as mensagens 6 e 7 serão propagadas para o terminal Expire. Neste ponto, não há mais mensagens ausentes, portanto, o cronômetro de mensagem ausente não é reiniciado.
  14. O cronômetro de expiração do grupo é iniciado e o grupo é fechado após 60 segundos terem passado. O cronômetro de expiração do grupo nunca é iniciado quando um cronômetro de mensagem ausente está em execuçã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:30:54


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