Mapeando destinos para e a partir de filas, tópicos e destinos do IBM MQ

As mensagens de integração de serviço e as mensagens do IBM MQ contêm campos de cabeçalho e propriedades. Alguns desses campos de cabeçalhos e propriedades contêm destinos ou propriedades de destinos que fornecem informações sobre destinos de envio e de resposta e sobre os destinos nos caminhos de roteamento de encaminhamento e reverso do barramento. Como a integração de serviço e o IBM MQ possuem definições diferentes para os destinos, os mapeamentos serão usados para processar os destinos e as propriedades de destino quando as mensagens forem convertidas entre o formato de integração de serviço e o formato do IBM MQ.

Destinos e Propriedades de Destino na Mensagem no Formato do IBM MQ

A mensagem no formato do IBM MQ contém as seguintes informações relacionadas aos destinos:
MQXQH RemoteQName
MQXQH RemoteQMgrName

Esses campos estão presentes no MQXQH (o cabeçalho da fila de transmissão do IBM MQ). O MQXQH é anexado às mensagens somente enquanto elas viajam entre os gerenciadores de filas do IBM MQ ou entre os gerenciadores de filas e os barramentos de integração de serviços do IBM MQ através de um Link do IBM MQ. Os aplicativos de envio e de recebimento não podem acessar esses campos.

O campo RemoteQName contém o nome da fila de envio (IBM MQ) ou o destino da fila de envio (integração de serviço). O campo RemoteQMgrName identifica o gerenciador de filas ou o grupo de filas compartilhadas (IBM MQ) ou o barramento de integração de serviços (integração de serviço) em que a fila ou o destino de envio estão localizados. Geralmente, o campo RemoteQMgrName contém o nome do gerenciador de filas remotas, do grupo de filas compartilhadas ou do barramento de integração de serviços, mas pode conter um nome de alias do gerenciador de filas IBM MQ ou de um gerenciador de filas virtual de integração de serviço. Observe que esses campos não são usados para os tópicos.

Os valores de RemoteQName e de RemoteQMgrName podem ter no máximo 48 caracteres de comprimento e devem estar em conformidade com as restrições de nomenclatura do IBM MQ.

MQRFH2 jms.Dst (JMSDestination)

Esse campo está presente nas mensagens do JMS no formato do IBM MQ que incluem o cabeçalho MQRFH2.

O campo jms.Dst contém uma representação serializada (um URI do IBM MQ) do destino JMS de envio que foi configurado quando o aplicativo emitiu send para a mensagem. Consulte a biblioteca do IBM MQ para obter mais informações sobre o formato de URI do IBM MQ para os destinos do JMS.

Quando a integração de serviço envia uma mensagem que possui um caminho de roteamento de encaminhamento para o IBM MQ, ela incluirá um atributo ibmRoutingPath nesse URI. O valor ibmRoutingPath identifica o caminho de roteamento de encaminhamento a partir da mensagem de integração de serviço. O IBM MQ não usa o caminho de roteamento de encaminhamento, mas o destino de envio pode estar em um barramento de integração de serviços remoto que pode usar o caminho de roteamento de encaminhamento.

MQMD ReplyToQ
MQMD ReplyToQMgr

Esses campos estão presentes em todas as mensagens no formato do IBM MQ.

Se o aplicativo de envio especificar uma fila de resposta, o campo ReplyToQ conterá o nome da fila de resposta (IBM MQ) ou do destino de resposta (integração de serviço), e o campo ReplyToQMgr identificará o gerenciador de filas ou o grupo de filas compartilhadas (IBM MQ) ou o barramento de integração de serviços (integração de serviço) no qual a fila está localizada. Geralmente, o campo ReplyToQMgr contém o nome do gerenciador de filas, do grupo de filas compartilhadas ou do barramento de integração de serviços, mas pode conter um nome de alias do gerenciador de filas IBM MQ ou de um gerenciador de filas virtual de integração de serviço. Se o aplicativo de envio especificar um tópico de resposta ou se não especificar um destino de resposta, esses campos conterão valores nulos.

Os valores de ReplyToQ e de ReplyToQMgr podem ter no máximo 48 caracteres de comprimento e devem estar em conformidade com as restrições de nomenclatura do IBM MQ.

MQRFH2 jms.Rto (JMSReplyTo)

Esse campo está presente nas mensagens do JMS no formato do IBM MQ que incluem o cabeçalho MQRFH2 e que especificam um destino de resposta. Os aplicativos JMS do IBM MQ geralmente usam esse atributo de mensagem com o destino das mensagens de resposta, porém outros aplicativos IBM MQ (não JMS) geralmente não o usam, pois eles usam os campos de resposta MQMD no lugar.

O campo jms.Rto contém uma representação serializada (um URI do IBM MQ) do destino JMS de resposta que é configurado pelo o aplicativo JMS de envio. Consulte a biblioteca do IBM MQ para obter mais informações sobre o formato de URI do IBM MQ para os destinos do JMS.

Quando a integração de serviço envia uma mensagem que possui um caminho de roteamento reverso para o IBM MQ, a integração de serviço incluirá um atributo ibmRoutingPath nesse URI. O valor ibmRoutingPath identifica o caminho de roteamento reverso a partir da mensagem de integração de serviço. Quando o aplicativo JMS de recebimento envia uma resposta, o IBM MQ incluirá as informações do caminho de roteamento a partir do URI de resposta no URI de envio da mensagem de resposta para que a integração de serviço possa usá-las para rotear a mensagem de resposta.

Nota:
  • Quando o aplicativo de envio especifica uma fila de resposta para uma mensagem, essa fila geralmente estará localizada no barramento, no gerenciador de filas ou no grupo de filas compartilhadas com o qual o aplicativo de envio se conecta. Isso permite que o aplicativo de envio receba a mensagem de resposta da fila de resposta. Os aplicativos de integração de serviço que enviam mensagens para o, ou por meio do, IBM MQ não devem especificar uma fila de resposta em um barramento, gerenciador de filas ou grupo de filas compartilhadas diferente.
  • É importante entender que é o aplicativo de recebimento que usa o destino de resposta em uma mensagem. O barramento, o gerenciador de filas ou o grupo de filas compartilhadas com o qual o aplicativo de recebimento se conecta deve ser configurado com as informações que permitem roteamento para o destino de resposta.

A conversão de destino quando a integração de serviço converte uma mensagem para o formato do IBM MQ

Quando a integração de serviço converte uma mensagem para o formato do IBM MQ, ela coloca as seguintes informações de destino na mensagem no formato do IBM MQ:
MQXQH RemoteQName
MQXQH RemoteQMgrName

Esses campos serão aplicados somente quando a integração de serviço estiver enviando a mensagem através de um Link do IBM MQ, e somente quando o destino for uma fila.

A integração de serviço configura esses campos com base no destino de envio resolvido para a mensagem, ou seja, se o destino de envio for um alias, a integração de serviço usará o barramento de destino e o identificador de destino. O processamento então ocorre da seguinte forma:
  • Se o destino de envio estiver em um barramento conectado indiretamente, ele armazenará o nome do destino (identificador) como o RemoteQName e o nome do barramento como o RemoteQMgrName.
  • Se o destino de envio estiver no barramento conectado diretamente e se o nome do destino (identificador) estiver no formato queue@queueManager, ele armazenará o nome da fila (queue) como o RemoteQName e o nome do gerenciador de filas (queueManager) como o RemoteQMgrName.
  • Se o destino de envio estiver no barramento conectado diretamente e se o nome do destino (identificador) não estiver no formato queue@queueManager, ele armazenará o nome do destino como o RemoteQName e o nome do barramento como o RemoteQMgrName.

Se o destino de envio estiver em um barramento de integração de serviços conectado indiretamente e se o nome de destino não estiver em conformidade com as restrições de nomenclatura do IBM MQ, você deverá definir um destino do alias com um nome compatível e o aplicativo de envio deverá usar o nome compatível (alias). Nesse caso, você deve definir o destino do alias no barramento remoto (conectado indiretamente) e não no barramento local.

Se o destino de envio estiver em um barramento de integração de serviços conectado indiretamente e se o nome do barramento não estiver em conformidade com as restrições de nomenclatura do IBM MQ, o gerenciador de filas virtual deverá ter um nome para o barramento conectado indiretamente. Nesse caso, o barramento local deverá definir o barramento conectado indiretamente com o nome do gerenciador de filas virtual, mas não com o nome do barramento.

Para obter mais informações sobre o mapeamento dos nomes do barramento de integração de serviços que não estão em conformidade com as restrições de nomenclatura do IBM MQ, consulte Como direcionar destinos do barramento e filas do IBM MQ.

MQRFH2 jms.Dst (JMSDestination)

Se a mensagem no formato do IBM MQ incluir o cabeçalho MQRFH2, a integração de serviço serializará o campo de cabeçalho JMSDestination em um URI do IBM MQ e o armazenará no campo JMSDestination na mensagem IBM MQ. Se a mensagem possuir um caminho de roteamento de encaminhamento, a integração de serviço incluirá isso no URI como o atributo ibmRoutingPath.

MQMD ReplyToQ
MQMD ReplyToQMgr

O aplicativo JMS de envio pode configurar esses campos diretamente ao usar as propriedades de mensagem JMS específicas do provedor JMS_IBM_MQMD_ReplyToQ e JMS_IBM_MQMD_ReplyToQMgr. Se o aplicativo de envio não fizer isso, a integração de serviço configurará as propriedades se (e somente se) a mensagem tiver um destino de resposta e se o destino for uma fila.

A integração de serviço configura esses campos com base no destino de resposta não resolvido para a mensagem, ou seja, se o destino de resposta for um alias, a integração de serviço usará o barramento e o identificador do alias, e não o barramento e o identificador de destino. Os aplicativos de integração de serviço não devem fornecer destinos de resposta que forem destinos externos ou se tiverem nomes que incluem o caractere @. Contanto que os aplicativos não façam isso, o processamento será da seguinte forma:
  • O nome do destino de resposta (identificador) é armazenado no campo ReplyToQ e o nome do barramento do destino de resposta (ou seja, o nome do barramento local) no campo ReplyToQMgr.
  • Se o nome do gerenciador de filas virtual for diferente do nome do barramento local, o nome do gerenciador de filas virtual será armazenado no campo ReplyToQMgr ao invés do nome do barramento local.

Se o nome real do destino de resposta não estiver em conformidade com as restrições de nomenclatura do IBM MQ (inclusive se o nome tiver o caractere @), você deverá definir um destino de alias com um nome compatível e o aplicativo de envio deverá usar o nome compatível (alias). Nesse caso, você deve definir o destino do alias no barramento local e não no barramento remoto (conectado indiretamente).

MQRFH2 jms.Rto (JMSReplyTo)

Se a mensagem tiver um destino de resposta e se a mensagem no formato IBM MQ incluir o cabeçalho MQRFH2, a integração de serviço construirá um URI do IBM MQ para representar esse destino de resposta e armazenará o URI de propriedade JMSReplyTo na mensagem do IBM MQ. Se o destino de resposta for uma fila, o URI incluirá o nome do barramento do destino de resposta (o barramento local) ou o nome do gerenciador de filas virtual (se for diferente). Se a mensagem possuir um caminho de roteamento reverso, a integração de serviço incluirá esse caminho no URI no atributo ibmRoutingPath.

Conversão de Destino Quando a Integração de Serviços Converte uma Mensagem a partir do Formato do IBM MQ

Quando a integração de serviço converte uma mensagem a partir do formato do IBM MQ, ela usa as seguintes informações de destino a partir da mensagem no formato do IBM MQ:
MQXQH RemoteQName
MQXQH RemoteQMgrName

Esses campos são aplicáveis apenas quando a integração de serviço estiver recebendo a mensagem por um link do IBM MQ e apenas quando o destino for uma fila.

A integração de serviço interpreta o campo RemoteQName como o identificador de destino (sempre uma fila) para a mensagem e o campo RemoteQMgrName como o nome do barramento de destino para a mensagem. Se o campo RemoteQMgrName contiver um nome do gerenciador de filas virtual do barramento local, a integração de serviço o interpretará como o nome do barramento local. A integração de serviço então usa a combinação de identificador de barramento e de destino resultante (que pode ser um destino de alias no barramento local) para entregar a mensagem de maneira usual. No caso em que o barramento de destino é um barramento externo, também é incluído o encaminhamento da mensagem para esse barramento externo.

MQRFH2 jms.Dst (JMSDestination)

Se esse campo estiver disponível, a integração de serviço o usará para criar o campo de cabeçalho JMSDestination para a mensagem. Se o URI incluir o atributo ibmRoutingPath, a integração de serviço o usará para criar o caminho de roteamento de encaminhamento para a mensagem.

Se essa propriedade não estiver disponível (por exemplo, se a mensagem do IBM MQ não possuir nenhum cabeçalho MQRFH2), a integração de serviço poderá criar um campo de cabeçalho JMSDestination a partir do destino da integração de serviço no qual a mensagem é entregue.

MQMD ReplyToQ
MQMD ReplyToQMgr
Se esses campos contiverem valores não nulos, a integração de serviço os usará para construir o primeiro elemento do caminho de roteamento reverso para a mensagem de integração de serviço da seguinte forma:
  • Se ReplyToQMgr for o nome do barramento local ou o nome do gerenciador de filas virtual, a integração de serviço configurará o barramento como o barramento local e o nome do destino (identificador) para ReplyToQ.
  • Se ReplyToQMgr for um barramento externo definido no barramento local, a integração de serviço configurará o barramento para ReplyToQMgr e o nome do destino (identificador) para ReplyToQ.
  • Se ReplyToQMgr não for o nome do barramento local, nome do gerenciador de filas virtual ou um barramento externo definido no barramento local, a integração de serviço configurará o barramento para o barramento diretamente conectado do IBM MQ e o nome do destino (identificador) para queue@queueManager, em que queue é ReplyToQ e queueManager é ReplyToQMgr.
MQRFH2 jms.Rto (JMSReplyTo)

Se esse campo estiver disponível, a integração de serviço o usará com os campos MQMD ReplyToQ e ReplyToQMgr para construir o caminho de roteamento reverso e o campo de cabeçalho JMSReplyTo para a mensagem de integração de serviço. Ele constrói o caminho de roteamento reverso a partir do primeiro elemento (que o constrói a partir dos campos MQMD ReplyToQ eReplyToQMgr) e de quaisquer elementos que forem obtidos a partir do atributo ibmRoutingPath (se houver algum) do URI do JMSReplyTo URI na mensagem do IBM MQ. Ele constrói o campo de cabeçalho JMSReplyTo a partir do primeiro elemento do caminho de roteamento reverso junto com os atributos de destino do URI do JMSReplyTo na mensagem do IBM MQ.


Ícone que indica o tipo de tópico Tópico de Referência



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rjfp0016_
Nome do arquivo: rjfp0016_.html