Definindo Tempos Limites para Agregação

Você pode utilizar duas propriedades de nós de agregação para definir valores de tempo limite para processamento de mensagens agregadas.

Antes de começar:

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

Existem duas situações que podem requerer a utilização de tempos limite:

  1. Em certas situações, você pode receber uma mensagem de resposta agregada dentro de um determinado tempo. Algumas mensagens de resposta podem ser lentas para retornar ou podem nunca chegar. Para essas situações:
    1. Alterne para o Perspectiva do Desenvolvimento de Aplicativos do Intermediário.
    2. Abra o fluxo de mensagens de difusão.
    3. Defina a propriedade Tempo Limite do nó AggregateControl para especificar quanto tempo (em segundos) o intermediário deve aguardar respostas.Por padrão, essa propriedade é definida como 0, o que significa que não existe nenhum tempo limite e o intermediário aguarda indefinidamente.

    Se o intervalo de tempo limite decorrer sem que todas as respostas tenham chegado, as respostas que chegaram serão transformadas em uma mensagem de resposta agregada pelo nó AggregateReply correspondente e propagada para seu terminal timeout. Se preferir, você pode processar essa mensagem de resposta parcial da mesma forma que uma mensagem de resposta agregada completa. Se preferir, você pode fornecer processamento especial para respostas agregadas incompletas.

  2. Quando uma mensagem chega no terminal de um nó AggregateReply, ela é examinada para verificar se é uma mensagem de resposta esperada. Se ela não for reconhecida, será propagada para o terminal unknown. Talvez você queira que o intermediário aguarde um determinado período de tempo antes de fazer isso, porque:
    • A mensagem de resposta pode chegar antes de o trabalho executado pelo nó AggregateRequest ter sido consolidado de forma transacional. Esta situação pode ser evitada configurando-se a propriedade Modo de Transação do nó Input, conforme descrito em Criando o Fluxo de Difusão de Agregação.
    • A mensagem de resposta pode chegar antes da mensagem de controle. Essa situação pode ser evitada deixando o terminal de controle do nó AggregateControl desconectado. Para obter informações adicionais sobre as implicações de conectar o terminal de controle, consulte Utilizando Mensagens de Controle em Fluxos de Agregação.

    Essas situações têm mais probabilidade de ocorrer se você enviar as mensagens de pedido a partir de um ponto de sincronização e podem resultar em respostas válidas sendo enviadas para o terminal unknown. Para reduzir a chance de que isso ocorra:

    1. Alterne para o Perspectiva do Desenvolvimento de Aplicativos do Intermediário.
    2. Abra o fluxo de mensagens de recepção.
    3. Defina a propriedade Tempo Limite de Mensagem Desconhecido no nó AggregateReply. Quando você definir essa propriedade, uma mensagem que não pode ser reconhecida imediatamente como uma resposta válida é mantida dentro do intermediário de forma persistente pelo número de segundos especificados para essa propriedade.

    Se o intervalo de tempo limite desconhecido expirar e a mensagem for reconhecida, ela será processada. O nó também verifica se essa mensagem desconhecida anteriormente é a última resposta necessária para a conclusão de uma agregação. Se for, a mensagem de resposta agregada será construída e propagada.

    Se o intervalo de tempo limite desconhecido expirar e a mensagem ainda não for reconhecida, a mensagem será propagada para o terminal unknown.

Conceitos relacionados
Visão Geral de Fluxos de Mensagens
Agregação de Fluxo de Mensagens
Tarefas relacionadas
Configurando Fluxos de Agregação
Criando o Fluxo de Difusão de Agregação
Criando um Fluxo de Recepção de Agregação
Associando Fluxos de Agregação de Difusão e Recepção
Evitando Falta de Encadeamentos em Fluxos de Fan-in
Utilizando Vários Nós AggregateControl
Manipulação de Exceções em Fluxos de Agregação
Projetando um Fluxo de Mensagens
Criação de um Fluxo de Mensagens
Definindo o Conteúdo do Fluxo de Mensagens
Utilizando Mensagens de Controle em Fluxos de Agregação
Referências relacionadas
Nó AggregateControl
Nó AggregateReply
Nó AggregateRequest
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ac12320_