Nó MQInput

Este tópico contém as seguintes seções:

Finalidade

Utilize o nó MQInput para receber mensagens de clientes que conectam-se ao intermediário utilizando o WebSphere MQ Enterprise Transport e que utilizam as interfaces de programação de aplicativos MQI e AMI.

O nó MQInput recebe entrada de mensagem para um fluxo de mensagens a partir de uma fila de mensagens do WebSphere MQ definida no gerenciador de filas do intermediário. O nó usa MQGET para ler uma mensagem de uma fila especificada e estabelece o ambiente em processo para a mensagem. Se apropriado, você pode definir a fila de entrada como uma fila em cluster ou fila compartilhada do WebSphere MQ.

Os fluxos de mensagens que manipulam mensagens recebidas entre conexões do WebSphere MQ devem sempre ser iniciados com um nó MQInput. Você pode configurar as propriedades do nó MQInput para controlar a maneira que as mensagens são recebidas, causando a configuração das opções MQGET apropriadas. Por exemplo, você pode indicar que uma mensagem deve ser processada sob controle de transação. Você também pode solicitar que a conversão de dados seja executada durante a recepção de cada mensagem de entrada.

Se você incluir um nó de saída em um fluxo de mensagens iniciado por um nó MQInput, ele pode ser qualquer um dos nós de saída suportados, incluindo nós de saída definidos pelo usuário; não é necessário incluir um nó MQOutput. É possível gerar um fluxo de mensagens que receba mensagens de clientes do WebSphere MQ e gere mensagens para clientes que utilizam qualquer um dos transportes suportados para conectar-se ao intermediário, porque é possível configurar o fluxo de mensagens para solicitar que o intermediário forneça qualquer conversão necessária.

Se você criar um fluxo de mensagens para usar como um subfluxo, não será possível utilizar um nó de entrada padrão; será necessário utilizar uma instância do nó Input como o primeiro nó para criar um terminal de entrada para o subfluxo.

Se seu fluxo de mensagens não receber mensagens através das conexões do WebSphere MQ, é possível escolher um dos nós de entrada suportados.

O nó MQInput é representado no workbench pelo seguinte ícone:

 Ícone do nó MQInput

Utilizando o Nó MQInput em um Fluxo de Mensagens

Configurando o Nó MQInput

Quando tiver colocado uma instância do nó MQInput em um fluxo de mensagens, será possível configurá-lo. Clique com o botão direito na visualização do editor e clique em Propriedades. As propriedades básicas do nó serão exibidas no diálogo de propriedades.

Todas as propriedades obrigatórias, que não possuem um valor padrão definido, são marcadas com um asterisco no diálogo das propriedades.

Configure o nó MQInput da seguinte forma:

  1. Digite o nome da fila da qual o fluxo de mensagens recebe mensagens. É necessário predefinir esta fila do WebSphere MQ para o gerenciador de filas que hospeda o intermediário no qual o fluxo de mensagens é implementado.
  2. Selecione Avançado no navegador do diálogo de propriedades para definir propriedades que determinam como a mensagem é processada, por exemplo, suas características transacionais. Muitas destas propriedades são mapeadas para opções na chamada MQGET.
    • Selecione Modo de Transação a partir da lista drop down para definir as características transacionais de como essa mensagem é tratada:
      • Se você selecionar Automático, a mensagem de entrada será recebida sob o ponto de sincronização, se estiver marcada como persistente, de outra maneira, não será. A capacidade de transação de quaisquer mensagens derivadas enviadas em seguida por um nó de saída é determinada pela propriedade de persistência de entrada, a menos que o nó de saída tenha explicitamente substituído a capacidade de transação.
      • Se você selecionar Sim, a mensagem de entrada será recebida sob o ponto de sincronização.As mensagens derivadas, enviadas subseqüentemente por um nó de saída na mesma instância do fluxo de mensagens são enviadas de forma transacional, a menos que o nó de saída tenha substituído explicitamente a capacidade de transação.
      • Se você selecionar Não, a mensagem de entrada não será recebida sob o ponto de sincronização.As mensagens derivadas, enviadas subseqüentemente por um nó de saída de fluxo são enviadas de forma não-transacional, a menos que o nó de saída tenha especificado que as mensagens devam ser colocadas sob o ponto de sincronização.
    • Selecione Modo de Ordenação a partir da lista drop down para determinar a ordem na qual as mensagens são recuperadas da fila de entrada.Esta propriedade tem efeito apenas se a propriedade de fluxo de mensagens Instâncias Adicionais estiver configurada como maior que 0, ou seja, se vários encadeamentos lerem a fila de entrada. Os valores válidos são:
      • Padrão.As mensagens são recuperadas na ordem definida pelos atributos da fila, mas esta ordem não é garantida, uma vez que as mensagens são processadas pelo fluxo de mensagens.
      • Por ID do Usuário.As mensagens que possuem o mesmo UserIdentifier no MQMD são recuperadas e processadas na ordem definida pelos atributos da fila; essa ordem tem garantia de ser mantida quando as mensagens forem processadas. Uma mensagem associada a um determinado UserIdentifier que está sendo processado por um encadeamento é totalmente processada antes que o mesmo encadeamento, ou outro encadeamento, possa começar a processar outra mensagem com o mesmo UserIdentifier. Nenhuma outra ordem tem garantia de ser preservada.
      • Por Ordem de Fila.As mensagens são recuperadas e processadas nesse nó na ordem definida pelos atributos da fila; esta ordem tem garantia de ser mantida quando as mensagens forem processadas. Este comportamento é idêntico ao comportamento exibido se a propriedade de fluxo de mensagens Instâncias Adicionais estiver definida como 0.

      Consulte Configurando o Nó para Manipular Grupos de Mensagem para obter detalhes adicionais sobre esta opção.

    • Selecione a caixa de opções Ordem Lógica se deseja certificar-se de que mensagens que fazem parte de um grupo de mensagens sejam recebidas na ordem em que foram atribuídas pelo aplicativo de envio. Essa opção é mapeada para a opção MQGMO_LOGICAL_ORDER do MQGMO do MQI.

      Se você desmarcar a caixa de opções, as mensagens enviadas como parte de um grupo não serão recebidas em uma ordem pré-determinada. Se um intermediário espera receber mensagens em grupos e esta caixa de opções não estiver selecionada, ou a ordem das mensagens de entrada não é importante ou o fluxo de mensagens deve ser projetado para processá-las apropriadamente.

      Você também deve selecionar a caixa de opções Consolidar por Grupo de Mensagem se quiser que o processamento de mensagem seja consolidado somente depois que a mensagem final de um grupo tenha sido recebida e processada.

      Informações adicionais sobre as opções para as quais esta propriedade é mapeada estão disponíveis no WebSphere MQ Application Programming Reference.

      Consulte Configurando o Nó para Manipular Grupos de Mensagem para obter detalhes adicionais sobre esta opção.

    • Selecione a caixa de opções Todas as Mensagens Disponíveis se desejar que a recuperação e processamento de mensagens sejam concluídos apenas quando todas as mensagens em um único grupo estiverem disponíveis.Isto é mapeado para a opção MQGMO_ALL_MSGS_AVAILABLE do MQGMO do MQI. Limpe esta caixa de opções se a recuperação de mensagem depender de todas as mensagens em um grupo disponível antes do início do processamento.

      Informações adicionais sobre as opções para as quais esta propriedade é mapeada estão disponíveis no WebSphere MQ Application Programming Reference.

    • Insira um identificador de mensagens em ID de Mensagem Correspondente se desejar que o nó de entrada receba apenas mensagens que contenham um valor do identificador de mensagens correspondente no campo MsgId do MQMD.

      Digite um número par de dígitos hexadecimais (os caracteres 0 a 9, A a F, e a a f são válidos) até um máximo de 48 dígitos. Se o ID que você digitar for menor que o campo MsgId, ele será preenchido à direita com caracteres X'00'. Isso é mapeado para a opção MQMO_MATCH_MSG_ID do MQGMO do MQI.

      Deixe essa propriedade em branco se não desejar que o nó de entrada verifique se o ID da mensagem é correspondente.

      Informações adicionais sobre as opções para as quais esta propriedade é mapeada estão disponíveis no WebSphere MQ Application Programming Reference.

    • Insira um identificador de mensagens em ID de Correlação Correspondente se desejar que o nó de entrada receba apenas mensagens que contenham um valor do identificador de correlação correspondente no campo CorrelId do MQMD.

      Digite um número par de dígitos hexadecimais (os caracteres 0 a 9, A a F, e a a f são válidos) até um máximo de 48 dígitos. Se o ID que você digitar for menor que o campo CorrelId, ele será preenchido à direita com caracteres X'00'. Isso é mapeado para a opção MQMO_MATCH_CORREL_ID do MQGMO do MQI.

      Deixe essa propriedade em branco se não desejar que o nó de entrada verifique se o ID da mensagem é correspondente.

      Informações adicionais sobre as opções para as quais esta propriedade é mapeada estão disponíveis no WebSphere MQ Application Programming Reference.

    • Selecione a caixa de opções Converter se desejar que o WebSphere MQ execute conversão de dados na mensagem quando ela for recuperada da fila.

      WebSphere MQ converte a mensagem de entrada para o conjunto de caracteres de codificação e codificados especificado no MQMD fornecido pelo nó de entrada na chamada MQGET para recuperar a mensagem da fila de entrada. O fluxo de mensagens gera todas as mensagens de saída usando estes valores, e as coloca nas filas de destino com estes valores Encoding e CodedCharSetID definidos no MQMD.

      Essa propriedade é mapeada para a opção MQGMO_CONVERT do MQGMO do MQI.

      Limpe a caixa de opções se não desejar que o WebSphere MQ converta a mensagem.

      Se você selecionar essa caixa, também poderá especificar:

      • Converter Codificação. Digite o número que representa a codificação na qual deseja converter dados numéricos no corpo da mensagem. Os valores válidos incluem:
        • 546 para DOS e todos os sistemas Windows
        • 273 para todos os sistemas Linux e UNIX
        • 785 para sistemas z/OS

        Se não for especificado um valor, a mensagem de entrada MQMD será utilizada.

        Se for especificado um valor inválido, não será feita nenhuma conversão.

      • Converter ID do Conjunto de Caracteres Codificados. Digite o número que representa o identificador do conjunto de caracteres no qual você deseja converter dados de caracteres no corpo da mensagem.

        Se não for especificado um valor, a mensagem de entrada MQMD será utilizada.

        Se for especificado um valor inválido, não será feita nenhuma conversão.

      Para obter informações adicionais sobre conversão de dados do WebSphere MQ e por que você pode escolher utilizar esta opção, consulte o WebSphere MQ Application Programming Guide.Para obter informações adicionais sobre os valores que podem ser especificados para Converter Codificação e Converter ID do Conjunto de Caracteres Codificados, consulte o WebSphere MQ Application Programming Reference.

    • Selecione a caixa de opções Consolidar por Grupo de Mensagens se desejar que o processamento de mensagens seja consolidado apenas depois que a mensagem final de um grupo tiver sido recebida e processada.Se você deixar essa caixa de opções limpa, será executada uma consolidação após cada mensagem ter sido propagada totalmente através do fluxo de mensagens.

      Essa propriedade será relevante somente se você selecionou Ordem Lógica.

      Defina a propriedade Modo de Ordem para Por Ordem da Fila se as mensagens em um grupo tiverem de ser recuperadas e processadas na ordem em que aparecem na fila.

    • (Apenas z/OS). Digite um símbolo de serialização em Símbolo de Serialização do z/OS se desejar utilizar o acesso serializado para os recursos compartilhados, fornecidos por WebSphere MQ.

      O valor fornecido para o símbolo de serialização deve estar em conformidade com as regras descritas na WebSphere MQReferência de Programação do Aplicativo.

      Para obter informações adicionais sobre a serialização e o compartilhamento de filas no z/OS, consulte o WebSphere MQ Guia de Conceitos e Planejamento.

  3. Selecione Descrição no navegador de diálogo de propriedades para inserir uma descrição breve, uma descrição longa, ou ambas.
  4. Clique em Aplicar para fazer as alterações no nó MQInput sem fechar o diálogo de propriedades. Clique em OK para aplicar as alterações e fechar o diálogo de propriedades.

    Clique em Cancelar para fechar o diálogo e descartar todas as alterações feitas nas propriedades.

Conectando Terminais

O MQInput roteia cada mensagem recebida com êxito para o terminal de saída. Se isso falhar, a mensagem será repetida. Se o tempo limite de repetição expirar (conforme definido pelo atributo BackoutThreshold da fila de entrada), a mensagem será roteada para o terminal failure; você poderá conectar nós nesse terminal para identificar essa condição. Se você não estiver conectado ao terminal failure, a mensagem será gravada na fila de restauração.

Se a mensagem for capturada por este nó após o lançamento de uma exceção no fluxo de mensagens, a mensagem será roteada para o terminal da captura. Se você não conectou o terminal catch, a mensagem entrará em um loop contínuo pelo nó até que o problema seja resolvido. Você deve definir uma fila de restauração ou uma fila DLQ (dead-letter queue) para impedir o loop contínuo da mensagem através do nó.

Configurando para Transações Coordenadas

Quando você inclui um nó MQInput em um fluxo de mensagens, o valor definido para Modo de Transação define se as mensagens serão recebidas sob o ponto de sincronização:

  • Se você defini-la como Sim (o padrão), a mensagem será recebida sob o ponto de sincronização (ou seja, em uma unidade de trabalho do WebSphere MQ).As mensagens enviadas subseqüentemente por um nó de saída na mesma instância do fluxo de mensagens são colocadas sob o ponto de sincronização, a menos que o nó de saída tenha feito a substituição explicitamente.
  • Se você defini-la como Automático, a mensagem será recebida sob o ponto de sincronização se a mensagem de entrada for marcada como persistente.De outra maneira, ela não será. Qualquer mensagem enviada subseqüentemente por um nó de saída será colocada sob o ponto de sincronização, conforme determinado pela propriedade de persistência de entrada, a menos que o nó de saída tenha feito a substituição explicitamente.
  • Se você defini-la como Não, a mensagem não será recebida sob o ponto de sincronização. As mensagens enviadas subseqüentemente por um nó de saída no fluxo não são colocadas sob o ponto de sincronização, a menos que o nó de saída tenha especificado que a mensagem deve ser colocada sob o ponto de sincronização.

(O nó MQOutput é o único nó de saída que pode ser configurado para substituir essa opção).

Configurando o Nó para Manipular Grupos de Mensagem

WebSphere MQ suporta grupos de mensagem; você pode especificar que uma mensagem deve pertencer a um grupo e que seu processamento e o processamento de todas as outras mensagens no grupo devem ser manipulados como uma transação. Isto é, se o processo em uma mensagem no grupo falhar, todas as mensagens no grupo são retornadas. O processamento da mensagem é consolidado quando a última mensagem no grupo tiver sido processada com êxito e apenas se o processamento de todas as mensagens tiver sido bem sucedido.

Se você incluir mensagens em um grupo, e for importante que todas as mensagens dentro do grupo sejam lidas a partir da fila e processadas na ordem em que estiverem definidas dentro do grupo, você deve concluir todas as ações indicadas abaixo:

  • Selecione a caixa de opções Consolidar por Grupo de Mensagem.
  • Selecione a caixa de opções Ordem Lógica.
  • Defina Modo de Ordem para Por Ordem de Fila ou defina a propriedade de fluxo de mensagens Instâncias Adicionais para 0. (Você pode modificar as propriedades do fluxo de mensagens quando você inclui o fluxo de mensagens para o arquivo bar para implementação). Se você escolher uma das opções (ou ambas), o fluxo de mensagens processa as mensagens em um único encadeamento de execução e a mensagem é processada para conclusão antes que a próxima mensagem seja recuperada da fila. Em todos os outros casos, é possível que encadeamentos múltiplos dentro de um único fluxo de mensagens estejam processando múltiplas mensagens, e não há garantia de que a mensagem final em um grupo, que solicita a ação de consolidação ou a de rollback, seja processada para conclusão após todas as outras mensagens no grupo.

Você também deve se assegurar de que não há nenhum outro fluxo de mensagens que esteja recuperando mensagens da mesma fila de entrada. Se houver, não há garantia a respeito da ordem em que as mensagens são processadas dentro de um grupo.

Terminais e Propriedades

Os terminais do nó MQInput são descritos na seguinte tabela.

Terminal Descrição
Defeito O terminal de saída para o qual a mensagem é encaminhada se ocorrer um erro. Mesmo que a propriedade Validação esteja definida, as mensagens propagadas para esse terminal não serão validadas.
Saída O terminal de saída para o qual a mensagem será roteada se for recuperada com êxito da fila do WebSphere MQ.
Capturar O terminal de saída para o qual a mensagem será roteada se for emitida uma exceção downstream e capturada por este nó.

As tabelas a seguir descrevem as propriedades do nó; a coluna com cabeçalho M indica se a propriedade é obrigatória (marcado com um asterisco no diálogo de propriedades caso seja necessário digitar um valor quando nenhum padrão for definido), a coluna com cabeçalho C indica se a propriedade é configurável (você poderá alterar o valor quando incluir o fluxo de mensagens no arquivo bar para implementá-lo).

As propriedades Básicas do nó MQInput são descritas na seguinte tabela.

Propriedade M C Padrão Descrição
Nome da Fila Sim Sim   O nome da fila de entrada WebSphere MQ a partir da qual este nó recupera mensagens (usando o MQGET) para processamento pelo fluxo de mensagens.

As propriedades Avançadas do nó MQInput são descritas na seguinte tabela.

Propriedade M C Padrão Descrição
Modo de Transação Sim Não Sim Se a mensagem de entrada é recebida sob o ponto de sincronização. Os valores válidos são Automático, Sim, e Não.
Ordenar Modo Sim Não Padrão A ordem em que as mensagens são recuperadas da fila de entrada e processadas. Os valores válidos são Padrão, Por ID de Usuário, e Por Ordem de Fila.
Ordem Lógica Sim Não Selecionada Se as mensagens são recebidas em ordem lógica, conforme definido pelo WebSphere MQ.Se você selecionar a caixa de opções, esta ação é executada.
Todas as Mensagens Disponíveis Sim Não Limpo Se você selecionar a caixa de opções, todas as mensagens em um grupo devem estar disponíveis antes que a recuperação de uma mensagem seja possível.
ID de Mensagem Correspondente Não Não   Um ID da mensagem que deve corresponder ao ID da mensagem no MQMD da mensagem de entrada.
ID de Correlação Correspondente Não Não   Um ID de correlação que deve corresponder ao ID de correlação no MQMD da mensagem de entrada.
Converter Sim Não Limpo Determina se WebSphere MQ executa a conversão de dados na mensagem a ser recebida, em conformidade com os valores CodedCharSetId e Encoding definidos no MQMD. Se você selecionar a caixa de opções, esta ação é executada.
Converter Codificação Não Não   A representação utilizada para valores numéricos nos dados da mensagem, expressa como um valor inteiro. Essa propriedade será válida apenas se você tiver selecionado a caixa de opções Converter.
Converter ID do Conjunto de Caracteres Codificados Não Não   O identificador do conjunto de caracteres codificados de dados de caracteres nos dados da mensagem, expresso como um valor inteiro. Essa propriedade será válida apenas se você tiver selecionado a caixa de opções Converter.
Consolidar por Grupo de Mensagens Sim Não Limpo Quando uma transação é consolidada durante o processamento de mensagens que fazem parte de um grupo de mensagens. Se você selecionar a caixa de opções, a transação será consolidada quando o grupo de mensagem tiver sido processado.
Símbolo de Serialização do z/OS Não Não   Um símbolo definido pelo usuário para suporte ao aplicativo serializado. O valor especificado deve concordar com as regras para um ConnTag válido na estrutura WebSphere MQ MQCNO. Essas regras são descritas na WebSphere MQ Referência de Programação do Aplicativo.

As propriedades Descrição do nó MQInput são descritas na seguinte tabela.

Propriedade M C Padrão Descrição
Descrição Breve 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.
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2005 Última Atualização: 07/11/2005
ac04560_