O nó MQGet processa cada mensagem que recebe.
Este tópico contém as seguintes seções:
Propagando a Mensagem
- Se um cabeçalho MQMD (MQ Message Descriptor) estiver presente na árvore de entrada, o nó MQGet o utiliza. Caso contrário, o nó criará um MQMD padrão.
- O nó também cria uma estrutura MQGMO (MQ Get Message Options) padrão baseada nos valores configurados para as propriedades do nó.
Se um MQGMO estiver presente
na árvore de entrada, o nó utilizará seu conteúdo para modificar o padrão.
Quando você incluir um MQGMO para substituir o padrão, você deverá especificar todas as opções que você está substituindo. Por exemplo, se você configurar
o campo de opção como MQGMO_CONVERT, esse valor substituirá todas as opções que você
vê com o
WebSphere Message Broker Toolkit. Se você não usar um MQGMO de
substituição, o
WebSphere Message Broker usará os seguintes
valores:
- Se Intervalo de Espera não for zero,
MQGMO_WAIT será configurado; caso contrário, MQGMO_NOWAIT será utilizado.
- Se Modo de Transação for configurado como Sim, MQGMO_SYNCPOINT será utilizado.
- Se Modo de Transação for configurado como Não, MQGMO_NOSYNCPOINT será utilizado.
- Se Modo de Transação estiver configurado como Automático, MQGMO_SYNCPOINT_IF_PERSISTENT
será utilizado.
- A única outra opção que é utilizada por padrão nas propriedades do nó é
MQGMO_COMPLETE_MSG, que é configurada se Modo de
Transação é configurado como Sim ou Não. Esta opção não é configurada quando seu
intermediário está em execução no z/OS.
- Nenhuma outra opção é utilizada por padrão.
- O nó faz a chamada MQGet para WebSphere MQ.
- O nó analisa o CC (Código de Conclusão) e propaga a mensagem
para o terminal apropriado:
- OK
- O nó cria o LocalEnvironment de saída e as árvores de mensagens de saída utilizando técnicas padrão de análise de mensagens, em seguida, propaga a mensagem para o terminal Out.
- Aviso
- O nó cria o LocalEnvironment de saída e as árvores de mensagens de saída utilizando BLOB como o tipo de corpo da mensagem, em seguida, propaga a mensagem para o terminal Warning, se estiver conectado. Se o terminal Warning não estiver conectado, não ocorre nenhuma propagação e o fluxo termina.
- Falha (nenhuma mensagem)
- O nó cria o LocalEnvironment de saída e as árvores de mensagens de saída copiando as árvores de entrada, em seguida, propaga a mensagem para o terminal No Message, se estiver conectado. Se o terminal No Message não estiver conectado, não ocorre nenhuma propagação. A mensagem de saída propagada para o terminal
Sem Mensagem é construída somente a partir da mensagem de entrada, de acordo com os valores
da propriedade Modo de Geração e
da palavra-chave Copiar Mensagem ou Copiar Ambiente Local.
- Falha (outro)
- O nó propaga a mensagem para o terminal Failure. Se o
terminal Failure não estiver conectado, o broker lançará uma exceção
e retornará o controle para o nó de envio de dados mais próximo que pode processá-lo. Para obter informações adicionais, consulte Tratando Erros em Fluxos de Mensagens.
O diagrama a seguir mostra esse processamento:

Construindo o OutputLocalEnvironment
- Se a propriedade Modo de Geração
no nó MQGet estiver configurada
com uma opção que não inclui LocalEnvironment,
o nó copiará a árvore de ambiente local de entrada na árvore de ambiente local
de saída.
Se esta cópia for feita, qualquer atualização feita
neste nó para a árvore de ambiente local de saída não será propagada
no recebimento de dados.
- Se a propriedade Copiar Ambiente Local
estiver configurada com uma opção diferente de Nenhum,
o nó copiará a árvore de ambiente local de entrada na árvore de ambiente local
de saída.
- Se o local dos dados de saída apontar para a árvore de ambiente local
de saída, o nó aplicará alterações nessa árvore copinado a partir da árvore
de resultado.
- A árvore de ambiente local é propagada.
O diagrama a seguir mostra esse processamento:

Construindo a Mensagem de Saída
- Se a propriedade Modo de Geração no nó MQGet estiver configurada para uma opção que não inclui Mensagem, o nó copia a árvore de mensagens de entrada para a árvore de mensagens de saída. Vá para
a etapa 5.
- Se a propriedade Local dos Dados de Saída estiver configurada para
OutputRoot, o nó cria a árvore de mensagens de saída inteiramente a partir da árvore de resultados. Vá para
a etapa 5.
- Se a propriedade Copiar Mensagem for
configurada para um valor diferente de Nenhum,
o nó copiará a árvore de mensagens de entrada para a árvore de mensagens de saída.
- Se a propriedade Local de Dados de Saída
apontar para uma parte da árvore de mensagens de saída, o nó aplica alterações nessa
árvore copiando a partir da árvore de resultados no ponto definido pela propriedade Local
de Dados de Resultado.
- A árvore de mensagens é propagada.
O diagrama a seguir mostra esse processamento:

Para obter um exemplo de como esse processamento é implementado em um fluxo de mensagens, consulte Um Cenário de Resposta de Pedido que Usa um Nó MQGet.