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

Reordenando Mensagens em um Fluxo de Mensagens

Quando as mensagens que entram em um fluxo de mensagens contêm números de sequência e um ID do grupo, é possível usar o nóResequence para restabelecer a ordem sequencial das mensagens antes de propagá-las através do fluxo de mensagens.

Antes de começar:

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

Assegure-se de que cada mensagem contenha um número de sequência monotonamente crescente.

O número de sequência pode ter sido incluído na mensagem pelo nó Seqüência ou pode ser um outro campo de número inteiro na mensagem.

Quando o nó Resequence recebe uma mensagem de entrada, ele propaga a mensagem apenas se ela for a próxima na sequência. Se a mensagem não for a próxima na sequência, o nó Resequence a armazenará até que mais mensagens cheguem permitindo ao nó corrigir a sequência, nesse ponto o nó propaga a mensagem armazenada. Se uma mensagem falhar em chegar, impedindo que o nó Resequence conclue a sequência, as mensagens restantes serão processadas de acordo com a maneira na qual o nó Resequence foi configurado. Para obter informações adicionais sobre esta configuração, consulte Manipulando Mensagens Ausentes.

Uma quebra de transação ocorre no nó Resequence. Quando uma mensagem é entregue ao nó Resequence, o controle é retornado ao nó anterior no fluxo de mensagens. Todas as mensagens que são propagadas a partir do nó Resequence são propagadas em uma nova transação, mesmo se a sequência estiver completa. Para obter informações adicionais, consulte Nó Resequence.

A sequência de mensagens é preservada quando o broker é reiniciado. Se a opção Persistente for selecionada na guia Avançado do nó Resequence, a sequência também será preservada quando o gerenciador de filas for reiniciado.

As etapas a seguir mostram como criar um fluxo de mensagens que permite que você restabeleça a ordem sequencial das mensagens em um grupo de sequências:

  1. Alterne para o Perspectiva do Desenvolvimento de Aplicativos do Intermediário.
  2. Crie um fluxo de mensagens contendo um nó MQInput, um nó Resequence e um nó MQOutput.
  3. Conecte o terminal Out do nó MQInput ao terminal In do nó Resequence.
  4. Conecte o terminal Out do nó Resequence ao terminal In do nó MQOutput.
    Fluxo de mensagens consistindo em nós MQInput, Resequence e MQOutput.
  5. 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: RESEQ.TASK1.IN1.
  6. Configure as seguintes propriedades do nó Resequence:
    1. Na guia Básico, configure as seguintes propriedades:
      • Configure a propriedade Caminho para o Número de Sequência para o local do número de sequência na mensagem. Por exemplo, $InputBody/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 Início de Definição de Sequência para o primeiro número de sequência no grupo. Por exemplo, selecione Literal com um valor 0.
      • Configure a propriedade Fim de definição de sequência comoAutomático com o valor de tempo de expiração 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. O fim da mensagem de sequência é indicado no ambiente local pela variável LocalEnvironment.Sequence.End, que utiliza um valor Booleano.
      • Configure a propriedade Tempo Limite de Mensagem Ausente para 10. Esse valor especifica que o nó Resequence aguardará por uma mensagem ausente durante 10 segundos antes de propagar mensagens subsequentes no grupo de sequências para o terminal Expire. Quando a mensagem subsequente for propagada, os números da sequência de quaisquer mensagens ausentes (expiradas) serão copiados no ambiente local, como variáveis LocalEnvironment.Sequence.Missing.
  7. 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.
  8. 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 | bc28042_