Utilizando Mensagens de Controle em Fluxos de Agregação

No WebSphere Message Broker, o comportamento padrão é que conexões entre os nós AggregateControl e AggregateReply para enviar mensagens de controle sejam ignoradas. Esta configuração otimiza o desempenho e remove a possibilidade das mensagens de resposta serem recebidas pelo nó AggregateReply antes da mensagem de controle.

Antes de começar:

Para concluir esta tarefa, você deve ter concluído as tarefas a seguir:

As mensagens de controle não são necessárias para fazer com que as agregações funcionem corretamente. No entanto, ainda será possível enviar mensagens de controle em seus fluxos de agregação, se necessário. Para enviar mensagens de controle em um fluxo de mensagens criado no WebSphere Message Broker Versão 6.0, consulte Configurando Fluxos de Mensagens para Enviar Mensagens de Controle e Configurando o Ambiente de um Intermediário para Enviar Mensagens de Controle.
Importante: Se tiver criado fluxos de mensagens na Versão 5.0 e tiver configurado as mesmas para utilizar mensagens de controle e quiser continuar a utilizar mensagens de controle, consulte Configurando o Ambiente de um Intermediário para Enviar Mensagens de Controle. A menos que tenha concluído esta tarefa, as conexões entre os nós AggregateControl e AggregateReply criados em versões anteriores do produto serão ignoradas.
Para obter um exemplo funcional de agregação (sem utilizar mensagens de controle), consulte a amostra a seguir: Você pode visualizar amostras apenas quando utilizar o centro de informações integrado ao Message Brokers Toolkit.

Configurando Fluxos de Mensagens para Enviar Mensagens de Controle

Para configurar fluxos de mensagens para enviar mensagens de controle de um nó AggregateControl para um nó AggregateReply:
  1. Alterne para o Perspectiva do Desenvolvimento de Aplicativos do Intermediário.
  2. Se você criou os fluxos de difusão e de recepção em um único fluxo de mensagens:
    1. Abra o fluxo de mensagens de agregação.
    2. Conecte o terminal Control do nó AggregateControl ao terminal Control do nó AggregateReply para fazer a associação.

    Essa conexão é referida como uma conexão direta entre os dois nós de agregação.

  3. Se você criou fluxos de mensagens separados de difusão e recepção:
    1. Abra o fluxo de mensagens de difusão.
    2. Configure o nó AggregateControl, consulte Criando o Fluxo de Difusão de Agregação.
    3. Nesse estágio, é possível configurar um nó Compute que cria uma mensagem de saída válida que contém a mensagem de controle. Por exemplo, para transmitir a mensagem de controle para um nó MQOutput, configure o nó Compute para incluir um MQMD na mensagem e preencher os campos necessários do cabeçalho. Por exemplo, você pode codificar o seguinte ESQL:
      SET OutputRoot.MQMD.Version = MQMD_CURRENT_VERSION;
      SET OutputRoot.MQMD.Format = MQFMT_STRING;
    4. Configure um nó de saída que representa o destino intermediário para a mensagem de controle. Por exemplo, para enviar a mensagem de controle para uma fila intermediária do WebSphere MQ, inclua um nó MQOutput e identifique a fila de destino nas propriedades básicas Nome do Gerenciador de Filas e Nome da Fila.
    5. Conecte o terminal Control do nó AggregateControl ao terminal In do nó Compute e conecte o terminal Out do nó Compute ao terminal In do nó de saída que representa o destino intermediário para a mensagem de controle.
    6. Abra o fluxo de mensagens de recepção.
    7. Configure um nó de entrada para receber as mensagens de resposta, consulte Criando um Fluxo de Recepção de Agregação. Esse nó de entrada também recebe as informações de controle do nó AggregateControl. Por exemplo, configure a propriedade Básica Nome da Fila do nó MQInput para receber a mensagem de resposta e de controle de uma fila intermediária do WebSphere MQ.
    8. Inclua um nó Filter em seu fluxo de fan-in após o nó de entrada e antes do nó AggregateReply, consulte Evitando Falta de Encadeamentos em Fluxos de Fan-in.
    9. Conecte o terminal Out do nó de entrada ao terminal In do nó Filter.
    10. Conecte os terminais Out do nó Filter ao terminal Control e ao terminal de entrada do nó AggregateReply.

    Essa conexão é referida como uma conexão indireta entre os dois nós de agregação.

Configurando o Ambiente de um Intermediário para Enviar Mensagens de Controle

Por padrão, no WebSphere Message Broker Versão 6.0, quaisquer conexões do terminal Control do nó AggregateRequest com o nó AggregateReply são ignoradas. Para que essas conexões estejam ativas, crie a variável de ambiente MQSI_AGGR_COMPAT_MODE no ambiente do intermediário. Por padrão, a variável de ambiente não existe. A existência da variável de ambiente significa que as conexões do nó AggregateControl estão ativas, independentemente do valor para o qual a variável de ambiente está configurada.

Quando a variável de ambiente MQSI_AGGR_COMPAT_MODE não tiver sido criada, o comportamento padrão para fluxos de fan-out de agregação é utilizado. Se o terminal Control do nó AggregateControl estiver conectado, direta ou indiretamente, ao terminal In do nó AggregateReply, essa conexão é ignorada e nenhuma mensagem de controle é enviada.

Se a variável de ambiente MQSI_AGGR_COMPAT_MODE for criada, o comportamento padrão para os fluxos de fan-out de agregação não é utilizado, o que permite o envio de mensagens de controle do nó AggregateControl para o nó AggregateReply. Se o terminal Control do nó AggregateControl estiver conectado, direta ou indiretamente, ao terminal In do nó AggregateReply, consulte Criando o Fluxo de Difusão de Agregação, esta conexão será reconhecida e uma mensagem de controle será enviada. Observe que esta configuração não é a configuração ideal e pode afetar o desempenho.

Para criar a variável MQSI_AGGR_COMPAT_MODE para permitir que as conexões entre os nós AggregateControl e AggregateReply sejam reconhecidas:
  • Windows platform No Windows:
    1. Abra Propriedades do Sistema clicando em Iniciar > Painel de Controle > Sistema.
    2. Clique na guia Avançado.
    3. Clique em Variáveis de ambiente.
    4. Na área de janela Variáveis do Sistema, clique em Novo.
    5. Em Nome da Variável, digite MQSI_AGGR_COMPAT_MODE.
    6. (Opcional) Você pode digitar o Valor Variável ou deixá-lo em branco.
    7. Para que a variável de ambiente tenha efeito, reinicie o computador.
  • Linux platformUNIX platformz/OS platform No Linux, UNIX e z/OS:
    1. Edite o perfil do ID do usuário do intermediário e inclua o seguinte código:
      export
      MQSI_AGGR_COMPAT_MODE=
    2. Recarregue o perfil.
    3. Reiniciar o intermediário.
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última atualização : 2009-02-13 16:11:48

ac12312_