Utilizando Mensagens de Controle em Fluxos de Agregação

Antes de começar:

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

O tópico a seguir descreve as ações requeridas para enviar mensagens de controle. No WebSphere Message Broker, o comportamento padrão é que as conexões entre os nós AggregateControl e AggregateReply para envio de mensagens de controle serão ignoradas. Essa configuração otimiza o desempenho e remove a possibilidade das mensagens de resposta serem recebidas pelo nó AggregateReply antes da mensagem de controle. As mensagens de controle não são necessárias para fazer com que as agregações funcionem corretamente. No entanto, se ainda for necessário enviar mensagens de controle em seus fluxos de agregação, isso é possível. 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 neste tópico.

Se você tiver criado fluxos de mensagens na Versão 5.0 e tiver configurado os mesmos para utilizar mensagens de controle e quiser continuar utilizando as mensagens de controle, consulte Configurando o Ambiente de um Intermediário para Enviar Mensagens de Controle neste tópico. As conexões entre os nós AggregateControl e AggregateReply criadas em versões anteriores do produto serão ignoradas na Versão 6.0, a menos que você conclua essa tarefa.

Para obter um exemplo funcional de agregação (sem a utilização de mensagens de controle), consulte a Amostra Airline Reservations.

Configurando Fluxos de Mensagens para Enviar Mensagens de Controle

Para configurar os 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ê tiver criado os fluxos de fan-out e fan-in em um único fluxo de mensagens:
    1. Abra o fluxo de mensagens de agregação.
    2. Conecte o terminal de controle do nó AggregateControl ao terminal de controle do nó AggregateReply para fazer a associação.

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

  3. Se tiver criado fluxos de mensagens de fan-out e fan-in separados:
    1. Abra o fluxo de mensagens de difusão.
    2. Configure o nó AggregateControl conforme descrito em 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, se desejar transmitir a mensagem de controle para um nó MQOutput, configure o nó Calcular para adicionar um MQMD à mensagem e preencha os campos obrigatórios nesse cabeçalho. Por exemplo, você pode codificar o seguinte ESQL:
      Início da mudança
      SET OutputRoot.MQMD.StrucId = MQMD_STRUC_ID;
      SET OutputRoot.MQMD.Version = MQMD_CURRENT_VERSION;
      SET OutputRoot.MQMD.Format = MQFMT_STRING;
      Fim da mudança
    4. Configure um nó output que representa o destino intermediário para a mensagem de controle. Por exemplo, se você desejar 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 de Nome do Gerenciador de Filas e Nome da Fila.
    5. Conecte o terminal de controle do nó AggregateControl ao terminal in do nó Compute e o terminal out do nó Compute ao terminal in do nó output que representa o destino intermediário da mensagem de controle.
    6. Abra o fluxo de mensagens de recepção.
    7. Configure um nó input para receber as mensagens de resposta, conforme descrito em Criando um Fluxo de Recepção de Agregação. Esse nó input também irá receber 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 controle de uma fila intermediária do WebSphere MQ.
    8. Inclua um nó de filtro em seu fluxo de fan-in após o nó input e antes do nó AggregateReply, conforme descrito em Evitando Falta de Encadeamentos em Fluxos de Fan-in.
    9. Conecte o terminal out do nó input ao terminal in do nó Filter.
    10. Conecte os terminais out do nó Filter ao terminal de controle e o terminal in do nó AggregateReply.

    Isso é referido 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 de controle do nó AggregateRequest para 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 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 dos fluxos de fan-out de agregação será utilizado. Se o terminal de controle do nó AggregateControl estiver conectado, direta ou indiretamente, ao terminal in do nó AggregateReply, essa conexão será ignorada e nenhuma mensagem de controle será 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 serão utilizados, permitindo que você envie 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, conforme descrito em Criando o Fluxo de Difusão de Agregação, essa conexão será reconhecida e uma mensagem de controle será enviada. Observe que essa não é a configuração otimizada e pode reduzir o desempenho.

Para criar a variável MQSI_AGGR_COMPAT_MODE para permitir que conexões entre os nós AggregateControl e AggregateReply sejam reconhecidas:
  • No Windows:
    1. Abra Propriedades do Sistema: 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. Se quiser, pode preencher Valor da Variável, caso contrário, deixe em branco.
    6. Para que a variável de ambiente entre em vigor, você deve reiniciar o computador.
  • No Linux, UNIX e z/OS:
    1. Edite o perfil do ID do usuário do intermediário e inclua o seguinte: export MQSI_AGGR_COMPAT_MODE=
    2. Recarregue o perfil.
    3. Reiniciar o intermediário.
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ac12312_