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

Incluindo Números de Sequência em Mensagens

É possível incluir números de sequência em mensagens inserindo um fluxo de mensagens usando o nó Seqüência.

Antes de começar:

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

O nó Seqüência aloca um número de sequência monotonamente crescente para cada mensagem de entrada que chega no nó. À medida que cada mensagem chega no nó Seqüência, o número de sequência é incrementado e armazenado com a mensagem no local especificado pela propriedade Caminho para número de sequência de armazenamento. A alocação de números de sequência continua até que a sequência termine, conforme especificado pela propriedade Definição de Fim da Sequência.

É possível dividir mensagens de entrada em grupos de sequências independentes, com base em um identificador definido na mensagem. Cada grupo possui um identificador do grupo separado e a sequência das mensagens em cada grupo é gerenciada de forma independente.

O nó Seqüência aloca um número de sequência para cada mensagem no grupo de sequências e o próximo número de sequência no grupo não é alocado até que a mensagem atual no grupo tenha concluído o processamento (sendo confirmada ou retrocedida). Isto assegura que a sequência seja mantida para o grupo quando houver vários encadeamentos no fluxo de mensagens.

Se você precisar salvar a mensagem com o número de sequência recém-designado (por exemplo, se você precisar salvar a mensagem no WebSphere MQ para processamento por outro fluxo), e não houver local conveniente na mensagem para salvar o número de sequência, você poderá incluir um cabeçalho MQRFH2 na mensagem antes do nó Seqüência, e configurar o número de sequência em um campo na pasta usr.

Vários grupos de sequências podem ser gerenciados de forma independente, em paralelo, e o estado do grupo de sequências é preservado quando o broker é reiniciado.

As etapas a seguir mostram como criar um fluxo de mensagens que inclui um número de sequência para cada mensagem em um grupo de sequências.

  1. Crie um fluxo de mensagens contendo um nó MQInput, um nó Seqüência e um nó MQOutput.
  2. Conecte o terminal Out do nó MQInput ao terminal In do nó Seqüência.
  3. Conecte o terminal Out do nó Seqüência ao terminal In do nó MQOutput.
    Fluxo de mensagens que consiste nos nós MQInput, Sequence e MQOutput.
  4. No nó MQInput, especifique a origem das mensagens de entrada para o nó configurando a propriedade Nome da Fila (na guia Básico) para o nome de uma fila do WebSphere MQ, a partir da qual o nó MQInput recupera mensagens. Por exemplo: SEQ.TASK1.IN1.
  5. Configure as seguintes propriedades do nó Seqüência:
    1. Na guia Básico, configure as seguintes propriedades:
      • Configure a propriedade Caminho para número de sequência de armazenamento para o local na mensagem em que o número de sequência deve ser configurado. Por exemplo, $OutputBody/doc/seq. O número de sequência também é configurado no ambiente local, com a variável LocalEnvironment.Sequence.Number.
      • Configure a propriedade Caminho para o Identificador do Grupo de Sequências para o local do identificador do grupo de sequências na mensagem. Por exemplo, $InputBody/doc/grp. O identificador do grupo de sequências também é copiado no ambiente local, com a variável LocalEnvironment.Sequence.Group.
      • Configure a propriedade Definição do Início da Sequência como Literal com o valor inicial necessário; por exemplo, 0.

        Embora o número de sequência inicial precise ser especificado por um número literal, o valor pode ser substituído no ambiente local pela variável LocalEnvironment.Sequence.StartOfSequenceNumber.

        O início da mensagem de sequência é indicado no ambiente local pela variável LocalEnvironment.Sequence.Start, que utiliza um valor Booleano.

      • Configure a propriedade Definição de Fim da Sequência com um dos seguintes valores:
        • Automático com o valor de tempo limite necessário; por exemplo, 60. Este valor especifica que o grupo de sequências é fechado automaticamente quando a fila de mensagem no nó permanecer vazia por 60 segundos.
        • Literal com o valor final necessário; por exemplo, 100. Este valor especifica que o grupo de sequências é fechado quando a mensagem com o número de sequência 100 é processado.
        • Predicado com a expressão XPath necessária; por exemplo, $InputBody/doc/endFlag. Este valor especifica que o grupo de sequências é fechado quando o predicado $InputBody/doc/endFlag é avaliado como True ($InputBody/doc/endFlag=True).

        O fim da mensagem de sequência é indicado no ambiente local pela variável LocalEnvironment.Sequence.End, que utiliza um valor Booleano.

    2. Na guia Avançado, configure a propriedade Modo de persistência como Não-persistente. Selecione Persistente, se desejar que a sequência seja preservada, se o gerenciador de filas for reiniciado.
  6. No nó MQOutput, configure a propriedade Nome da Fila (na guia Básico) para o nome de uma fila do WebSphere MQ para a qual o nó MQOutput envia mensagens. Por exemplo: SEQ.TASK1.OUT1.
  7. Salve seu fluxo de mensagens.
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 | bc28041_