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

Resequence

Use o nó Resequence para controlar a sequência em que um grupo, ou grupos, de mensagens recebidas são propagados em um fluxo de mensagens.

Este tópico contém as seguintes seções:

Propósito

O nó Resequence controla a sequência em que um grupo, ou grupos, de mensagens recebidas são propagados através do nó em um fluxo de mensagens.

É possível usar um nó Resequence para reorganizar grupos de mensagens em ordem sequencial, de acordo com um número de sequência na mensagem. Cada mensagem deve conter um número de sequência, que pode ser qualquer número inteiro positivo ou negativo. O número de sequência é calculado por uma expressão XPath definida na propriedade Caminho para número de sequência no nó e ele pode ser um que foi incluído na mensagem por um nó Seqüência.

O nó Resequence pode reordenar múltiplos grupos de sequências independentemente um do outro, mas ele não pode reordenar mensagens entre grupos de sequências. O grupo ao qual uma mensagem pertence é determinado pelas propriedades do nó Resequence.

Cada grupo de sequências pode ser associado a apenas um nó Resequence. Múltiplos nós Resequence podem ter um grupo de sequências com o mesmo nome, mas cada um desses grupos de sequências é tratado como um grupo separado. A combinação do nome do grupo de execução, nome do fluxo de mensagens, nome do nó e nome do grupo de sequências é usada para diferenciar entre os grupos de sequências.

Por exemplo, você pode ter um fluxo de mensagens chamado flow1 contendo um nó Resequence chamado node1, que é implementado em um grupo de execução chamado eg1. Uma mensagem é enviada para ele usando um grupo de sequências chamado group1. O resultado é eg1/flow1/node1/group1. Exatamente o mesmo fluxo de mensagens em um grupo de execução diferente, por exemplo eg2, resultará em eg2/flow1/node1/group1.

É possível configurar um nó Resequence para usar múltiplos encadeamentos para propagar mensagens, mas apenas se cada mensagem que está sendo propagada pertencer a um grupo de sequências diferente. Para mensagens pertencentes ao mesmo grupo de sequências, apenas um encadeamento por vez pode ser usado para propagar mensagesn. Como resultado, a ordem sequencial das mensagens em um grupo de sequências é preservada, mas nenhuma ordem entre os grupos é mantida.

Uma quebra de transação ocorre no nó Resequence. Mensagens que chegam no nó não são propagadas diretamente ao terminal de saída; todas as mensagens (incluindo a próxima mensagem na sequência) são serializadas inicialmente para uma fila do WebSphere MQ interna. O armazenamento da mensagem ocorre na transação atual; quando ela tiver sido armazenada, a transação será concluída. Se uma mensagem armazenada for a próxima na sequência, ela será propagada pelo fluxo de mensagens sob uma nova transação. Apenas a parte serializável dos dados é propagada a partir do nó; ambiente local, ambiente e listas de exceções não são preservados.

Quaisquer exceções que ocorrem nos nós após o nó Resequence são revertidas no terminal Catch do nó Resequence. Se o terminal Catch não estiver conectado a nenhum outro nó, as mensagens serão reentregues ao terminal original (Out, Missing ou Expired). As mensagens nunca são removidas ou descartadas.

O nó Resequence armazena todas as mensagens recebidas nas filas internas antes de propagar o recebimento de dados das mensagens, mesmo quando elas são recebidas na ordem. O fluxo de mensagens é dividido efetivamente em dois fluxos em execução (um antes do nó Resequence e um após ele. Se a parte do fluxo de mensagens antes do nó Resequence for executada significativamente mais rápido que a parte do fluxo de mensagens após ele, o número de mensagens na fila interna poderá aumentar mais rapidamente do que pode ser processado. Além disso, qualquer horário de expiração fornecido para fim dos grupos ou mensagens ausentes não ocorrerá de uma maneira oportuna. Quando as filas estão cheias, as mensagens que chegam no nó Resequence fazem com que exceções sejam lançadas. É possível evitar este problema seguindo estas etapas:
  1. Assegure que os aplicativos de controle enviem apenas uma quantidade finita de trabalho por vez, que o fluxo de mensagens pode gerenciar.
  2. Configure instâncias adicionais para que a segunda parte do fluxo de mensagens tenha mais instâncias com as quais trabalhar. Use as propriedades na guia Instâncias para fornecer ao nó Resequence seu próprio conjunto de instâncias adicionais.
  3. Estruture o fluxo de mensagens para que a parte do fluxo que exige a maior demanda na CPU (transformação, por exemplo), venha antes do nó Resequence.
  4. Se a carga de trabalho grande for temporária, aumente a profundidade da fila máxima nas filas internas.
  5. Use o serviço configurável de Ressequência para particionar as filas. Isto pode evitar a situação na qual uma instância do nó Resequence preenche as filas e para outra instância que está trabalhando.

Para obter informações sobre os vários estados e transições de estado do nó Resequence, consulte Máquinas de Estado do Nó Resequence.

O nó Resequence está contido no repositório Roteamento da paleta e é representado no WebSphere Message Broker Toolkit pelo seguinte ícone:

Ícone do nó Resequence

Utilizando o Nó Resequence em um Fluxo de Mensagens

Examine a amostra a seguir para saber como utilizar o nó Resequence:

Você só pode visualizar informações sobre amostras quando usa o centro de informações que está integrado ao WebSphere Message Broker Toolkit ou o centro de informações on-line. Você só poderá executar amostras quando usar o centro de informações que está integrado ao WebSphere Message Broker Toolkit.

Configurando o Nó Resequence

Quando tiver colocado uma instância do nó Resequence em um fluxo de mensagens, você poderá configurá-lo; consulte Configurando um Nó do Fluxo de Mensagens. As propriedades do nó são exibidas na visualização Propriedades.

Todas as propriedades obrigatórias que não tiverem um valor padrão definido serão marcadas com um asterisco.

Configure o nó Resequence:

  1. Opcional: Na guia Descrição , digite uma Descrição curta, uma Descrição longa, ou ambas. Você também pode renomear o nó nessa guia.
  2. Na guia Básico, configure as propriedades que determinam como a sequência de mensagens é controlada.
    • Use a propriedade Caminho para o número de sequência para especificar uma expressão XPath que é usada para calcular o número de sequência da mensagem. A expressão XPath pode calcular o número de sequência ou pode apontar para um campo de número inteiro na mensagem. As mensagens também podem conter um identificador de grupo de sequências opcional. Essa propriedade é obrigatória.
    • Use a propriedade Caminho para o Identificador do Grupo de Sequências para especificar o local do identificador do grupo de sequências. O local é especificado como uma expressão XPath. As mensagens que possuem o mesmo identificador de grupo são consideradas como parte do mesmo grupo de sequências.
    • Use a propriedade Início da Definição de Sequência para identificar o primeiro número de sequência em cada grupo.
      • Selecione Literal para especificar um número de sequência literal, que pode ser qualquer valor numérico positivo ou negativo. Quando a mensagem com o número de sequência especificado chega, as mensagens são propagadas.
      • Selecione Predicado para especificar uma expressão XPath que é avaliada como True ou False, indicando se a mensagem é a primeira na sequência.

        As mensagens continuam sendo coletadas enquanto a expressão é avaliada como False. Quando a expressão de uma mensagem é avaliada como True, ela indica que a mensagem é a primeira na sequência.

        Geralmente, a expressão XPath é avaliada como um Booleano; entretanto, se outros tipos de dados forem retornados, o predicado será determinado da seguinte maneira:
        Tabela 1.
        Tipo de dado retornado Verdadeiro Falso
        Booleana Verdadeiro Falso
        Numeric Qualquer valor diferente de zero 0 ou 0.0
        Cadeia Qualquer cadeia correspondente a true (sem distinção entre maiúsculas e minúsculas) Qualquer cadeia não correspondente a true (sem distinção entre maiúsculas e minúsculas)
        Conjunto de Nós Nunca Sempre

        Quando uma mensagem avalia a expressão como True (e é, portanto, identificada como o início da sequência), o nó verifica se a mensagem possui o menor número de sequência coletado até esse ponto. Se forem localizadas mensagens com números de sequência inferiores, uma exceção será lançada.

        Quando a primeira mensagem avaliada como true tiver sido processada com êxito, as expressões XPath de mensagens subsequentes não serão verificadas. Se uma mensagem chegar com um número de sequência inferior à mensagem que foi identificada como o início da sequência, uma exceção será lançada.

      • Selecione Automático para especificar um limite de tempo para reunir mensagens antes de usar a mensagem com número mais baixo.
    • Use a propriedade Fim de Definição de Sequência para especificar quando cada grupo de sequências foi concluído.
      • Selecione Literal para especificar um número de sequência literal. Este valor pode ser qualquer valor numérico positivo ou negativo que seja igual ou maior que o valor da propriedade Início da definição de sequência. Quando a mensagem com o número de sequência especificado chega, o grupo de sequências permanece aberto e aguarda mensagens ausentes até a propriedade Tempo Limite de Mensagem Ausente expirar. Quaisquer mensagens que chegam nesse tempo são incluídas no grupo (a menos que elas estejam duplicadas ou fora do intervalo permitido) até o grupo de sequências ser fechado. Quando o grupo de sequências é fechado, qualquer nova mensagem que chega para esse grupo é tratada como pertencente a uma nova instância do grupo.
      • Selecione Predicado para especificar uma expressão XPath que é avaliada como True ou False, para indicar se a mensagem é a última na sequência.

        Geralmente, a expressão XPath é avaliada como um Booleano, entretanto, se outros tipos de dados forem retornados, o predicado será determinado da maneira mostrada na Tabela 1.

        Quando o predicado é avaliado como True, o número de sequência da mensagem é designado à propriedade Fim da Definição de Sequência.

        Quando uma mensagem tiver sido recebida com o fim do predicado de sequência configurado como True, o grupo de sequências permanecerá aberto e aguardará mensagens ausentes até a propriedade Tempo Limite de Mensagem Ausente expirar. Quaisquer mensagens que chegam nesse tempo são incluídas no grupo (a menos que elas estejam duplicadas ou fora do intervalo permitido) até o grupo de sequências ser fechado. Quando o grupo de sequências é fechado, qualquer nova mensagem que chega para esse grupo é tratada como pertencente a uma nova instância do grupo.

        Se uma mensagem chegar com o fim do predicado de sequência configurado como True e com um número de sequência inferior à uma mensagem que já chegou, uma exceção será lançada.

      • Selecione Automático para especificar o período de tempo limite para o nó. Esta opção especifica quanto tempo (em segundos) o nó aguarda até que as mensagens cheguem a uma fila vazia, antes de fechar o grupo de sequências. Esta opção é útil para aplicativos que não podem determinar o número final na sequência. O cronômetro é iniciado quando não há mensagens na fila aguardando para serem propagadas. Se novas mensagens chegarem antes de o período de tempo limite ser atingido, o cronômetro será cancelado. Se nenhuma nova mensagem chegar antes do final do tempo especificado, o grupo de sequências será fechado e quaisquer mensagens adicionais para o grupo serão consideradas como parte de um novo grupo.
    • Use a propriedade Tempo Limite de Mensagem Ausente para especificar quanto tempo (em segundos) o nó aguardará pela próxima mensagem na sequência antes de mover para a próxima mensagem na sequência. As mensagens que chegam dentro do limite de tempo especificado são propagadas em ordem sequencial para o terminal Out.

      Quando o limite de tempo especificado foi excedido, as mensagens são propagadas em ordem sequencial para o terminal Expire. As mensagens subsequentes no grupo de sequências também são roteadas para o terminal Expire. Se a mensagem ausente eventualmente chegar, ela será propagada para o terminal Missing.

  3. Na guia Avançado:
    • Use a propriedade Modo de Persistência para especificar se as sequências incompletas de mensagens devem ser armazenadas persistentemente.
    • Use a propriedade Serviço Configurável para especificar o nome de um serviço configurável Resequence que substitui as propriedades especificadas do nó Resequence.
  4. Opcional: Na guia Instâncias configure valores para as propriedades que exibem as instâncias adicionais (encadeamentos) que estão disponíveis para um nó.

    Múltiplos encadeamentos podem ser usados para propagar mensagens a partir do mesmo nó Resequence, mas apenas se cada mensagem que está sendo propagada pertencer a um grupo de sequências diferente. Para mensagens pertencentes ao mesmo grupo de sequências, apenas um encadeamento por vez pode ser usado para propagar mensagesn. Como resultado, a ordem sequencial das mensagens em um grupo de sequências é preservada, mas nenhuma ordem entre os grupos é mantida.

    Para obter informações adicionais sobre como especificar instâncias adicionais, consulte Propriedades Configuráveis do Fluxo de Mensagens.

Terminais e Propriedades

Os terminais do nó Resequence são descritos na tabela a seguir.

Terminal Descrição
Entrada O terminal de entrada através do qual a montagem da mensagem recebida chega ao nó.
Failure O terminal de saída para o qual a mensagem é encaminhada se um ocorrer erro. Este valor inclui falhas causadas por processamento de repetições.
Out O terminal de saída para o qual a mensagem de saída é propagada por padrão.
Expirar O terminal de saída para o qual a mensagem será roteada se ocorrer um tempo limite enquanto o nó estiver aguardando a chegada da mensagem. Todas as mensagens subsequentes no mesmo grupo também são propagadas para este terminal.
Missing O terminal de saída para o qual a mensagem ausente (que fez com que ocorresse um tempo limite) será roteada se ela chegar subsequentemente ao nó.
Catch O terminal de saída para o qual a mensagem será roteada se for emitida uma exceção no recebimento de dados e capturada por este nó. As exceções serão capturadas somente se o terminal estiver anexado.

As tabelas a seguir descrevem as propriedades do nó. A coluna com cabeçalho M indica se a propriedade é obrigatória (marcada com um asterisco se você precisar inserir um valor quando nenhum padrão for definido); a coluna com cabeçalho C indica se a propriedade é configurável (é possível alterar o valor quando você incluir o fluxo de mensagens no arquivo BAR para implementação).

As propriedades Descrição do nó Resequence são descritas na tabela a seguir.

Propriedade M P Default Descrição
Nome de nó Não Não Resequence O nome do nó.
Short description Não Não   Uma breve descrição do nó.
Descrição Longa Não Não   Texto que descreve a finalidade do nó no fluxo de mensagens.

As propriedades Básicas do nó Resequence são descritas na tabela a seguir.

Propriedade M P Default Descrição
Caminho para o Número de Sequência Sim Não   Uma expressão XPath que calcula o número de sequência da mensagem.
Caminho para o Identificador do Grupo de Sequências Não Não   Uma expressão XPath que calcula o identificador do grupo de sequências. As mensagens que possuem o mesmo identificador de grupo são consideradas como parte do mesmo grupo de sequências. Esta propriedade funciona da mesma maneira que a propriedade Caminho de Correlação no nó Collector.
Início de Definição de Sequência Sim Não Literal, 0 Especifica o primeiro número de sequência em cada grupo. Os valores válidos são:
  • Literal e número
  • Predicado e XPath
  • Automático e tempo em segundos
Se esta propriedade for configurada como Automática, o tempo associado será substituído pelo valor da propriedade startSequenceSeconds, se configurado, no serviço configurável de Ressequência.
Fim de Definição de Sequência Sim Não Automático Especifica quando cada grupo de sequências foi concluído. Os valores válidos são:
  • Literal e número
  • Predicado e XPath
  • Automático e tempo em segundos
Se esta propriedade for configurada como Automática, o tempo associado será substituído pelo valor da propriedade endSequenceSeconds, se configurado, no serviço configurável de Ressequência.
Tempo Limite de Mensagem Ausente (Segundos) Não Não   Especifica quanto tempo (em segundos) o nó aguarda pela próxima mensagem na sequência antes de mover-se para a seguinte. Esta propriedade é substituída pela propriedade Tempo Limite de Mensagem Ausente, se configurada, no serviço configurável Resequence.
As propriedades Instâncias do nó Resequence são descritas na tabela a seguir. Para obter uma descrição completa destas propriedades, consulte Propriedades Configuráveis do Fluxo de Mensagens.
Propriedade M P Default Descrição
Conjunto de instâncias adicionais Não Sim Utilizar Conjunto Associado ao Fluxo de Mensagens O conjunto do qual as instâncias adicionais são obtidas.
  • Se você selecionar Utilizar Conjunto Associado ao Fluxo de Mensagens, as instâncias adicionais serão obtidas a partir do conjunto de fluxos de mensagens.
  • Se você selecionar Utilizar Conjunto Associado ao Nó, as instâncias adicionais serão alocadas das instâncias adicionais do nó com base no número especificado na propriedade Instâncias Adicionais.
Instâncias Adicionais Não Sim 0 O número de instâncias adicionais que o nó pode iniciar se a propriedade do Conjunto de Instâncias Adicionais estiver configurada como Utilizar Conjunto Associado ao Nó.

As propriedades Avançadas do nó Resequence são descritas na tabela a seguir.

Propriedade M P Default Descrição
Modo de persistência Sim Não Não-persistente Especifica se as sequências incompletas de mensagens devem ser armazenadas persistentemente. As opções válidas são:
  • Não-persistente
  • Persistente
Entrega configurável Não Sim Nenhum configurado Esta propriedade especifica o nome de um serviço configurável de Ressequência a ser usado pelo nó Resequence.

As propriedades configuradas pelo serviço configurável Resequence substituem as propriedades equivalentes configuradas no nó Resequence.

Para obter informações adicionais sobre as propriedades que podem ser configuradas com esse serviço configurável, consulte Propriedades de Serviços Configuráveis.

As propriedades Monitoramento do nó são descritas na tabela a seguir.
Propriedade M P Default Descrição
Eventos Não Não Nenhum Eventos definidos para o nó são exibidos nesta guia. Por padrão, nenhum evento de monitoramento é definido em um nó do fluxo de mensagens. Utilize Incluir, Editar, e Excluir para criar, alterar ou excluir eventos de monitoração no nó; consulte Configurando fontes de eventos de monitoramento utilizando propriedades de monitoramento para detalhes.

É possível ativar e desativar eventos mostrados aqui selecionando ou desmarcando a caixa de opções Ativado.

Não é possível usar as propriedades de monitoramento para configurar eventos de transação nos seguintes nós: Use um perfil de monitoramento no lugar; consulte Configurando fontes de eventos de monitoramento utilizando um perfil de monitoramento.
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:53


Tópico de ReferênciaTópico de Referência | Versão 8.0.0.5 | bc28000_