Atividade Obter Mensagem do MQ

Use a atividade Obter Mensagem do MQ para recuperar mensagens de uma fila do MQ durante o tempo de execução.

Nota: Você deve ter criado um terminal para a atividade do MQ antes de configurar a atividade.
A tarefa Configurar possui três seções:

Após concluir as tarefas Configurar, Mapeando Entradas e Mapeando Saídas da atividade.

Nota: O tamanho máximo de mensagem é 100 MBytes.

Detalhes da Fila e da Mensagem

Especifique os detalhes de Fila e de Mensagem para os campos na tabela abaixo. Os campos necessários são marcados com um asterisco.
Campo Descrição
Nome da Fila * Especifica o nome da fila do MQ a partir da qual o Integration Appliance tenta recuperar a mensagem.
Tempo limite O número de segundos antes de um tempo limite ocorrer entre a atividade Obter Mensagem do MQ que solicita para recuperar uma mensagem da fila e o tempo que demora para a mensagem ser retornada. Se esse período de tempo limite expirar e nenhuma mensagem for retornada da fila, o Integration Appliance aguardará o tempo de nova tentativa especificado antes de tentar recuperar uma mensagem novamente. Para uma explicação detalhada dos tempos limites e das opções de nova tentativa, consulte Opções de Tempo Limite e Nova Tentativa.

Para especificar o número de segundos que o Integration Appliance deve aguardar antes de emitir um tempo limite, selecione a opção Após e insira o número de segundos no campo Segundos. Por padrão, a opção Nunca está selecionada. Essa opção especifica que o Integration Appliance aguarda indefinidamente para recuperar uma mensagem da fila — não há nenhum período de tempo limite.

Tipo de Dado da Carga Útil Especifica o tipo de dados da carga útil da mensagem, binário ou cadeia.
Fragmento do Esquema para Cabeçalho MQRFH2 Especifica se um cabeçalho MQRFH2 está incluído na mensagem. Se a mensagem incluir um cabeçalho MQRFH2, selecione esta caixa de opção e clique em [...]. Na caixa de diálogo Procurar Elemento do Tipo de Esquema para localizar o Esquema XML que define o cabeçalho, selecione o elemento NameValueData nesse Esquema XML e clique em OK. O fragmento de esquema é o elemento NameValueData e todos os seus elementos filhos.
Nota: O Esquema XML que define o cabeçalho deve primeiro ser criado e carregado no projeto, antes que seja possível selecioná-lo. Para obter informações adicionais, consulte Definindo e Carregando um Esquema XML para um Cabeçalho MQRFH2.

Regras de Entrega

Campo Descrição
Entregar Mensagens As opções disponíveis aqui dependem se a caixa de opção IDs Exclusivos está selecionada. Se selecionada, todas as três opções estarão disponíveis. Se não, apenas Pelo Menos Uma Vez será exibido.
  • Pelo Menos Uma Vez - Especifica que a mensagem é entregue pelo menos uma vez, mas pode ser entregue mais de uma vez. As falhas da conexão ou do Integration Appliance podem fazer com que as mensagens sejam recuperadas e processadas mais de uma vez. Esta opção de entrega é geralmente usada quando o sistema de recebimento pode detectar ou tolerar mensagens duplicadas
  • No Máximo Uma Vez - Especifica que a mensagem é entregue apenas uma vez ou nenhuma. As falhas da conexão ou do Integration Appliance podem resultar na perda de mensagens. Esta opção de entrega é geralmente usada quando o sistema de recebimento não pode tolerar mensagens duplicadas, mas pode tolerar mensagens perdidas.
  • Exatamente Uma Vez - Especifica que a mensagem é entregue apenas uma única vez. As falhas da conexão ou do Integration Appliance não afetam a entrega com esta opção. O Integration Appliance usa IDs de mensagens do MQ para assegurar que cada mensagem seja recuperada e processada exatamente uma vez.
    Nota: Se selecionar a opção Exatamente Uma Vez, você deverá ativar a persistência. Para obter informações adicionais, consulte Ativando a Persistência.
Local em que as mensagens têm IDs Exclusivos Especifica se as mensagens na fila têm IDs exclusivos.

Opções de Nova Tentativa

Configure as opções de nova tentativa para obter uma mensagem da fila do MQ, conforme descrito na tabela a seguir:

Opções de Nova Tentativa Descrição
1) Aguardar ___ segundos entre cada nova tentativa. O número de segundos que o Integration Appliance aguarda antes de tentar recuperar uma mensagem da fila. Para saber mais sobre como essa opção está relacionada ao campo Tempo Limite na área de janela Configurar ou ao parâmetro de entrada timeout, consulte Opções de Tempo Limite e Nova Tentativa.
2) Tentar se conectar ___ vezes antes de falhar. Especifica o número máximo de vezes que o Integration Appliance tenta recuperar uma mensagem da fila antes de emitir um erro e para o processamento da tarefa de orquestração atual.

Se você implementar uma orquestração que contém uma atividade Obter Mensagem do MQ e o Integration Appliance não puder se conectar ao MQ Server especificado ou não puder obter uma mensagem da fila, o Integration Appliance registrará os erros como avisos nos logs do sistema e de orquestração até o valor da contagem de novas tentativas ser atingido. Quando a contagem de novas tentativas é atingida, o Integration Appliance registra um erro nos logs do sistema e da orquestração e para o processamento da tarefa de orquestração atual.

Por exemplo, você configura a contagem de novas tentativas como 3. O primeiro, o segundo e o terceiro erros aparecem no log do sistema como avisos. O Integration Appliance registra o quarto erro como um erro e para o processamento da tarefa de orquestração atual.

Para saber mais sobre como essa opção está relacionada ao campo Tempo Limite na área de janela Configurar ou ao parâmetro de entrada timeout, consulte Opções de Tempo Limite e de Nova Tentativa.

Mapeando Entradas

  1. Selecione a tarefa Mapear Saídas na Lista de Verificação. O painel Tentar Novamente é aberto.

    Os parâmetros de entrada da atividade são exibidos no painel Para Atividade.

  2. Todos os parâmetros de entrada da atividade Obter Mensagem do MQ são opcionais. Se o parâmetro de entrada listado na tabela a seguir não for exibido na área de janela Para Atividade do painel Mapear Entradas, selecione Mapear > Mostrar Parâmetros Opcionais no menu da barra de ferramentas ou clique com o botão direito do mouse no painel Para Atividade e selecione a opção Mostrar Parâmetros Opcionais. Se a opção Mapear > Mostrar Parâmetros Opcionais não for selecionável no menu da barra de ferramentas, clique em um nó no painel Mapear Entradas para ativar esta opção.
    É possível restringir o tipo de mensagem retornado pela atividade Obter Mensagem do MQ, mapeando qualquer combinação dos seguintes nós do parâmetro de entrada opcional mqmdheader:
    • mqmdheader/MsgId
    • mqmdheader/CorreId
    • mqmdheader/GroupId
    • mqmdheader/MsgSeqNumber

    Durante o tempo de execução, a atividade é iterada sequencialmente por todas as mensagens na fila. Se nada estiver mapeado para esses nós, nada será restringido e, deste modo, a primeira mensagem na fila será retornada pela atividade Obter Mensagem do MQ e a próxima atividade na orquestração será processada.

    Se qualquer um destes nós for mapeado, durante o tempo de execução, a atividade Obter Mensagem do MQ será iterada através de cada mensagem na fila até localizar a primeira mensagem que corresponda aos valores de tempo de execução de todos os nós mapeados. A primeira mensagem correspondente será retornada pela atividade Obter Mensagem do MQ e a próxima atividade na orquestração será processada.

    Por exemplo, na tarefa Mapear Entradas, mqmdheader/MsgId é mapeado para a cadeia chamada msgId e um valor-padrão largeOrders é especificado para o mqmdheader/GroupId, conforme mostrado na figura a seguir:
    Durante o tempo de execução, a atividade Obter Mensagem do MQ retorna a primeira mensagem na fila que atende a ambas as seguintes condições:
    • O valor de tempo de execução especificado da variável de sequência chamada msgId é igual ao ID de mensagem da mensagem na fila.
    • O ID do grupo da mensagem é igual a largeOrders.

    Opcionalmente, é possível substituir as configurações especificadas para o Nome da Fila e o Tempo Limite na tarefa Configurar da Lista de Verificação dinamicamente durante o tempo de execução, usando os parâmetros de entrada definidos na tabela a seguir.

    Por exemplo, o nome da fila do MQ pode ser configurado na tarefa Configurar para poqueue. Durante o tempo de execução, o nome da fila do MQ: newqueue pode ser passado para a atividade usando o parâmetro de entrada queuename. O nome da fila especificado dinamicamente durante o tempo de execução substitui a configuração original especificada no painel Configurar. Neste exemplo, o Integration Appliance consulta a fila do MQ nomeada newqueue para mensagens.

    Parâmetros de Entrada Opcionais que Substituem as Configurações na Tarefa Configurar
    Nome do Parâmetro de Entrada/Nó Descrição Substitui a Configuração na Tarefa?
    timeout Especifica o período de tempo que o Integration Appliance aguarda após solicitar para recuperar uma mensagem da fila, antes de tentar novamente.

    Especifique um número negativo para especificar nenhum período de tempo limite — o Integration Appliance aguarda indefinidamente para recuperar uma mensagem da fila. A especificação de um número negativo é igual à especificação da opção Nunca na tarefa Configurar.

    O parâmetro de entrada timeout substitui o campo Tempo Limite da tarefa Configurar.
    queuename Especifica o nome da fila do MQ na qual o Integration Appliance procura mensagens. O parâmetro de entrada queuename substitui a codificação especificada no campo Nome da Fila da tarefa Configurar.

    Consulte Criando um Mapa para obter instruções gerais sobre o mapeamento.

Mapeando Saídas

Não é necessário mapear os parâmetros de saída para essa atividade. Consulte Criando um Mapa para obter instruções gerais sobre o mapeamento.

Opções de Tempo Limite e Nova Tentativa

O tempo limite especificado no campo Tempo Limite na tarefa Configurar ou o parâmetro de entrada timeout especifica o número de segundos antes de um tempo limite ocorrer entre a atividade Obter Mensagem do MQ que solicita para recuperar uma mensagem da fila e o tempo que demora para a mensagem ser retornada. Se esse período de tempo limite expirar e nenhuma mensagem for retornada da fila, o Integration Appliance aguardará o período de tempo especificado na opção 1) Aguardar ___ segundo(s) entre cada nova tentativa antes de tentar recuperar uma mensagem novamente. O Integration Appliance continua tentando obter a mensagem até a contagem de novas tentativas especificada. A contagem de novas tentativas é especificada com 2) Tentar se conectar ___ vezes antes de falhar. As opções 1) Aguardar ___ segundo(s) entre cada nova tentativa e 2) Tentar se conectar ___ vezes antes de falhar são especificadas na tarefa Opções de Nova Tentativa.

Por exemplo, uma atividade Obter Mensagem do MQ é configurada com as seguintes opções:
  • O campo Tempo Limite na tarefa Configurar é configurado para 10 segundos e o parâmetro de entrada timeout opcional não é mapeado e nenhum valor-padrão é definido.
  • A opção 1) Aguardar ___ segundo(s) entre cada nova tentativa é configurada para 15 segundos.
  • A opção 2) Tentar se conectar ___ vezes antes de falhar é configurada para 2.
Durante o tempo de execução, se a atividade Obter Mensagem do MQ não puder recuperar continuamente uma mensagem da fila, conforme mostrado na figura a seguir: