至和自 IBM MQ 队列、主题和目标的目标映射

服务集成消息和 IBM MQ 消息都包含头字段和属性。其中某些头字段和属性包含目标或目标属性,它们提供有关发送和应答目标的信息以及有关总线正向和反向路由路径的目标的信息。因为对于目标,服务集成和 IBM MQ 具有不同定义,所以映射用于在服务集成格式与 IBM MQ 格式之间转换消息时处理目标和目标属性。

IBM MQ 格式消息中的目标和目标属性

IBM MQ 格式消息包含与目标有关的下列信息:
MQXQH RemoteQName
MQXQH RemoteQMgrName

这些字段出现在 MQXQH(IBM MQ 传输队列头)中。仅当消息在 IBM MQ 队列管理器之间或在跨 WebSphere® MQ 链路IBM MQ 队列管理器与服务集成总线之间传送时,MQXQH 才会连接至消息。发送和接收应用程序不能访问这些字段。

RemoteQName 字段包含发送队列(IBM MQ)或发送目标(服务集成)的名称。RemoteQMgrName 字段标识发送队列或目标所在的队列管理器或队列共享组 (IBM MQ) 或者服务集成总线(服务集成)。通常,RemoteQMgrName 字段包含远程队列管理器、队列共享组或服务集成总线的名称,但它还可包含 IBM MQ 队列管理器别名或服务集成虚拟队列管理器名称。请注意,这些字段并非用于主题。

RemoteQNameRemoteQMgrName 值最长可达 48 个字符,并且必须符合 IBM MQ 命名限制。

MQRFH2 jms.Dst (JMSDestination)

此字段出现在包括 MQRFH2 头的 IBM MQ 格式 JMS 消息中。

jms.Dst 字段包含发送 JMS 目标的序列化表示 (IBM MQ URI),该目标是应用程序对消息发出 send 时设置的。请参阅 IBM MQ 库,以了解有关 JMS 目标的 IBM MQ URI 格式的更多信息。

服务集成发送具有 IBM MQ 的正向路由路径的消息时,会将 ibmRoutingPath 属性添加至此 URI。ibmRoutingPath 值标识服务集成消息中的正向路由路径。IBM MQ 不使用正向路由路径,但发送目标可能在可使用正向路由路径的远程服务集成总线中。

MQMD ReplyToQ
MQMD ReplyToQMgr

这些字段出现在 IBM MQ 格式消息中。

如果发送应用程序指定了应答队列,那么 ReplyToQ 字段包含应答队列 (IBM MQ) 或应答目标(服务集成)的名称,而 ReplyToQMgr 字段标识该队列所在的队列管理器或队列共享组 (IBM MQ) 或者服务集成总线(服务集成)。通常,ReplyToQMgr 字段包含队列管理器、队列共享组或服务集成总线的名称,但它还可包含 IBM MQ 队列管理器别名或服务集成虚拟队列管理器名称。如果发送应用程序指定了应答主题,或者未指定应答目标,那么这些字段包含空值。

ReplyToQReplyToQMgr 值最长可达 48 个字符,并且必须符合 IBM MQ 命名限制。

MQRFH2 jms.Rto (JMSReplyTo)

此字段出现在包括 MQRFH2 头并且指定应答目标的 IBM MQ 格式 JMS 消息中。IBM MQ JMS 应用程序通常将此消息属性用作应答消息的目标,但其他(非 JMS)IBM MQ 应用程序通常不使用此属性;它们使用 MQMD 应答字段代替。

jms.Rto 字段包含由发送 JMS 应用程序设置的应答 JMS 目标的序列化表示 (IBM MQ URI)。请参阅 IBM MQ 库,以了解有关 JMS 目标的 IBM MQ URI 格式的更多信息。

服务集成发送具有 IBM MQ 的反向路由路径的消息时,服务集成会将 ibmRoutingPath 属性添加至此 URI。ibmRoutingPath 值标识服务集成消息中的反向路由路径。接收 JMS 应用程序发送应答时,IBM MQ 的应答消息的发送 URI 中包括应答 URI 中的路由路径信息,以便服务集成可将其用于路由应答消息。

注:
  • 发送应用程序对消息指定应答队列时,该队列通常位于发送应用程序连接至的总线、队列管理器或队列共享组中。这允许发送应用程序从应答队列接收应答消息。将消息发送至 IBM MQ 或通过其发送消息的服务集成应用程序不应在另一总线、队列管理器或队列共享组中指定应答队列。
  • 应了解是由接收应用程序使用消息中的应答目标。必须使用允许路由至应答目标的信息来配置接收应用程序连接至的总线、队列管理器或队列共享组。

服务集成将消息转换为 IBM MQ 格式时的目标转换

服务集成将消息转换为 IBM MQ 格式时,它将以下目标信息放在 IBM MQ 格式消息中:
MQXQH RemoteQName
MQXQH RemoteQMgrName

仅当服务集成通过 IBM MQ 链路 发送消息并且目标为队列时,这些字段才适用。

服务集成根据消息的已解析发送目标来设置这些字段;即,如果发送目标是别名,那么服务集成会使用目标总线和目标标识。然后按如下方式进行处理:
  • 如果发送目标位于间接连接的总线中,那么它会将目标名称(标识)存储为 RemoteQName,并将总线名称存储为 RemoteQMgrName
  • 如果发送目标位于直接连接的总线中并且目标名称(标识)的格式为 queue@queueManager,那么它会将队列名称 (queue) 存储为 RemoteQName,并将队列管理器名称 (queueManager) 存储为 RemoteQMgrName
  • 如果发送目标位于直接连接的总线中并且目标名称(标识)的格式并非 queue@queueManager,那么它会将目标名称存储为 RemoteQName,并将总线名称存储为 RemoteQMgrName

如果发送目标位于间接连接的服务集成总线中并且其目标名称不符合 IBM MQ 命名限制,那么您必须使用符合该限制的名称来定义别名目的地;发送应用程序必须使用符合限制的(别名)名称。在此情况下,必须在远程(间接连接的)总线而不是本地总线中定义别名目标。

如果发送目标位于间接连接的服务集成总线中并且其总线名称不符合 IBM MQ 命令限制,那么必须具有用于间接连接的总线的虚拟队列管理器名称。在此情况下,本地总线必须使用虚拟队列管理器名称而不是其总线名称来定义间接连接的总线。

有关不符合 IBM MQ 命名限制的映射服务集成总线的更多信息,请参阅如何对总线目标和 IBM MQ 队列进行寻址

MQRFH2 jms.Dst (JMSDestination)

如果 IBM MQ 格式消息包括 MQRFH2 头,那么服务集成会将 JMSDestination 头字段序列化到 IBM MQ URI 中并将其存储在 IBM MQ 消息的 JMSDestination 字段中。如果该消息具有正向路由路径,那么服务集成会将其作为 ibmRoutingPath 属性包括在 URI 中。

MQMD ReplyToQ
MQMD ReplyToQMgr

发送 JMS 应用程序可使用特定于提供程序的 JMS 消息属性 JMS_IBM_MQMD_ReplyToQJMS_IBM_MQMD_ReplyToQMgr 来直接设置这些字段。如果发送应用程序不执行此操作,那么当且仅当消息具有应答目标并且该目标是队列时,服务集成才设置这些属性。

服务集成根据消息的未解析应答目标来设置这些字段;即,如果应答目标是别名,那么服务集成会使用别名总线和标识而不是目标总线和标识。服务集成应用程序不应提供作为外部目标或名称包含 @ 字符的应答目标。如果应用程序未执行此操作,那么将按如下方式进行处理:
  • 应答目标名称(标识)存储在 ReplyToQ 字段中,应答目标总线名称(即,本地总线名称)存储在 ReplyToQMgr 字段中。
  • 如果虚拟队列管理器名称不同于本地总线名称,那么虚拟队列管理器名称而不是本地总线名称存储在 ReplyToQMgr 字段中。

如果应答目标的实名不符合 IBM MQ 命名限制(包括名称包含 @ 字符的情况),那么必须使用符合限制的名称来定义别名目的地,并且发送应用程序必须使用符合限制的(别名)名称。在此情况下,必须在本地总线而不是远程(间接连接的)总线中定义别名目标。

MQRFH2 jms.Rto (JMSReplyTo)

如果该消息具有应答目标并且 IBM MQ 格式消息包括 MQRFH2 头,那么服务集成会构造 IBM MQ URI 以表示该应答目标,并将 URI 存储在 IBM MQ 消息的 JMSReplyTo 属性中。如果应答目标是队列,那么该 URI 包括应答目标总线名称(本地总线)或虚拟队列管理器名称(如果不同于本地总线名称)。如果该消息具有反向路由路径,那么服务集成会将该路径包括在 URI 的 ibmRoutingPath 属性中。

服务集成转换 IBM MQ 格式的消息时的目标转换

服务集成转换 IBM MQ 格式的消息时,它使用 IBM MQ 格式消息中的以下目标信息:
MQXQH RemoteQName
MQXQH RemoteQMgrName

仅当服务集成通过 IBM MQ 链路接收消息并且目标为队列时,这些字段才适用。

服务集成将 RemoteQName 字段解释为消息的目标标识(始终为队列),并将 RemoteQMgrName 字段解释为消息的目标总线的名称。如果 RemoteQMgrName 字段包含本地总线的虚拟队列管理器名称,那么服务集成将其解释为本地总线的名称。然后服务集成会使用生成的总线和目标标识组合(它可以是本地总线中的别名目标)来按常规方法传送消息。对于目标总线是外部总线的情况,此操作包括将消息转发至该外部总线。

MQRFH2 jms.Dst (JMSDestination)

如果此字段可用,那么服务集成会使用此字段为消息创建 JMSDestination 头字段。如果 URI 包括 ibmRoutingPath 属性,那么服务集成会使用该属性为消息创建正向路由路径。

如果此属性不可用(例如,如果 IBM MQ 消息没有 MQRFH2 头),那么服务集成可通过消息传送至的服务集成目标来创建 JMSDestination 头字段。

MQMD ReplyToQ
MQMD ReplyToQMgr
如果这些字段包含非空值,那么服务集成会使用它们来构造服务集成消息的反向路由路径的第一个元素,如下所示:
  • 如果 ReplyToQMgr 是本地总线名称或虚拟队列管理器名称,那么服务集成会将该总线设置为本地总线并将目标名称(标识)设置为 ReplyToQ
  • 如果 ReplyToQMgr 是在本地总线中定义的外部总线,那么服务集成会将该总线设置为 ReplyToQMgr 并将目标名称(标识)设置为 ReplyToQ
  • 如果 ReplyToQMgr 并非本地总线名称、虚拟队列管理器名称或本地总线中定义的外部总线,那么服务集成会将该总线设置为直接连接的 IBM MQ 总线,并将目标名称(标识)设置为 queue@queueManager,其中 queueReplyToQqueueManagerReplyToQMgr
MQRFH2 jms.Rto (JMSReplyTo)

如果此字段可用,那么服务集成会将其与 MQMD ReplyToQReplyToQMgr 字段配合使用,以便为服务集成消息构造反向路由路径和 JMSReplyTo 头字段。它通过第一部分(此部分是它通过 MQMD ReplyToQReplyToQMgr 字段构造的)以及任何余下部分(这些部分是它通过 IBM MQ 消息的 JMSReplyTo URI 中的 ibmRoutingPath 属性获取的)构造反向路由路径。它通过反向路由路径的第一部分和 IBM MQ 消息的 JMSReplyTo URI 的目标属性来构造 JMSReplyTo 头字段。


指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rjfp0016_
文件名:rjfp0016_.html