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