Mappage des destinations vers et depuis les files d'attente, les sujets et les destinations IBM MQ
Les messages d'intégration de services et les messages de IBM MQ contiennent des zones et propriétés d'en-tête. Certaines de ces zones et propriétés d'en-tête incluent des destinations ou des propriétés de destination qui fournissent des informations sur les destinations d'envoi et de réponse ainsi que sur les destinations figurant dans les chemins de routage de transmission et inverse du bus. Etant donné que l'intégration de services et IBM MQ possèdent des définitions de destination différentes, les mappages sont utilisés pour traiter les destinations et les propriétés de destination lorsque les messages sont convertis du format d'intégration de services au format IBM MQ.
Destinations et propriétés de destination dans le message au formatIBM MQ
- MQXQH RemoteQName
- MQXQH RemoteQMgrName
Ces zones se trouvent dans le MQXQH (en-tête de la file d'attente de transmission IBM MQ). MQXQH est associé aux messages uniquement lorsqu'ils circulent entre les gestionnaires de files d'attente IBM MQ ou entre les gestionnaires de files d'attente IBM MQ et les bus d'intégration de services d'un lien IBM MQ. Les applications émettrices et les applications de réception ne peuvent pas accéder à ces zones.
La zone RemoteQName comporte le nom de la file d'attente d'envoi(IBM MQ) ou le nom de la destination d'envoi (intégration de services). La zone RemoteQMgrName identifie le gestionnaire de files d'attente ou le groupe de partage de files d'attente (IBM MQ) ou le bus d'intégration de services (intégration de services) sur lequel se trouve la file d'attente ou la destination d'envoi. En général, la zone RemoteQMgrName contient le nom du gestionnaire de files d'attente éloigné, celui du groupe de partage de files d'attente ou celui du bus d'intégration de services. Elle peut également contenir un alias de gestionnaire de files d'attente IBM MQ ou le nom d'un gestionnaire de files d'attente virtuel d'intégration de services. Notez que ces zones ne sont pas utilisées pour les sujets.
Les valeurs RemoteQName et RemoteQMgrName ne doivent pas dépasser 48 caractères et doivent être conformes aux règles de dénomination de IBM MQ.
- MQRFH2 jms.Dst (JMSDestination)
Cette zone figure dans les messages JMS au format IBM MQ qui incluent l'en-tête MQRFH2.
La zone jms.Dst contient une représentation en série (URI de IBM MQ) de la destination JMS d'envoi qui a été définie lorsque l'application a émis la commande d'envoi pour le message. Reportez-vous à la bibliothèque IBM MQ pour plus d'informations sur le format URI de IBM MQ des destinations JMS.
Lorsque l'intégration de services envoie un message comportant un chemin de routage de transmission à IBM MQ, elle ajoute un attribut ibmRoutingPath à cet identificateur URI. La valeur ibmRoutingPath identifie le chemin de routage de transmission à partir du message d'intégration de services. IBM MQ n'utilise pas le chemin de routage de transmission, mais il se peut que la destination d'envoi se trouve sur un bus d'intégration de services éloigné qui peut utiliser le chemin de routage de transmission.
- MQMD ReplyToQ
- MQMD ReplyToQMgr
Ces zones sont présentes dans tous les messages au format IBM MQ.
Si l'application émettrice indique une file d'attente de réponse, la zone ReplyToQ contient alors le nom de la file d'attente de réponse (IBM MQ) ou le nom de la destination de réponse (intégration de services), et la zone ReplyToQMgr identifie le gestionnaire de files d'attente ou le groupe de partage de files d'attente (IBM MQ) ou le bus d'intégration de services (intégration de services) sur lequel se trouve cette file d'attente. En général, la zone ReplyToQMgr contient le nom du gestionnaire de files d'attente, celui du groupe de partage de files d'attente ou celui du bus d'intégration de services. Elle peut également contenir un alias de gestionnaire de files d'attente IBM MQ ou le nom d'un gestionnaire de files d'attente virtuel d'intégration de services. Si l'application émettrice indique un sujet de réponse ou si elle ne spécifie pas de destination de réponse, ces zones comportent alors des valeurs null.
Les valeurs ReplyToQ et ReplyToQMgr ne doivent pas dépasser 48 caractères et doivent être conformes aux règles de dénomination de IBM MQ.
- MQRFH2 jms.Rto (JMSReplyTo)
Cette zone est présente dans les messages JMS au format IBM MQ qui incluent l'en-tête MQRFH2 et indiquent une destination de réponse. Les applications IBM MQ JMS utilisent généralement cet attribut de message comme destination des messages de réponse contrairement aux applications (non-JMS) IBM MQ qui utilisent les zones de réponse de MQMD à la place.
La zone jms.Rto contient une représentation en série (URI de IBM MQ) de la destination JMS de réponse définie par l'application JMS émettrice. Reportez-vous à la bibliothèque IBM MQ pour plus d'informations sur le format URI de IBM MQ des destinations JMS.
Lorsque l'intégration de services envoie un message comportant un chemin de routage inverse à IBM MQ, elle ajoute un attribut ibmRoutingPath à cet identificateur URI. La valeur ibmRoutingPath identifie le chemin de routage inverse à partir du message d'intégration de services. Lorsque l'application JMS de réception envoie une réponse, IBM MQ inclut les informations de chemin de routage provenant de l'URI de réponse dans l'URI d'envoi du message de réponse afin que l'intégration de services l'utilise pour le routage du message de réponse.
- Si l'application émettrice spécifie une file d'attente de réponse pour un message, cette file d'attente est généralement située dans le bus, le gestionnaire de files d'attente ou le groupe de partage de files d'attente auquel l'application émettrice se connecte. Ceci permet à l'application émettrice de recevoir le message de réponse depuis la file d'attente de réponse. Les applications d'intégration de services qui envoient des messages à ou par l'intermédiaire de IBM MQ ne doivent pas indiquer de file d'attente de réponse dans un bus, un gestionnaire de files d'attente ou un groupe de partage de files d'attente différent.
- Il est important de noter que l'application de réception est celle qui utilise la destination de réponse d'un message. Le bus, le gestionnaire de files d'attente ou le groupe de partage de files d'attente auquel l'application de réception se connecte doit être configuré avec les informations qui permettent le routage vers la destination de réponse.
Conversion de la destination lors de la conversion d'un message au format IBM MQ par l'intégration de services
- MQXQH RemoteQName
- MQXQH RemoteQMgrName
Ces zones sont applicables uniquement lorsque l'intégration de service envoie le message via un lien IBM MQ et que la destination est une file d'attente.
L'intégration de services définit ces zones en fonction de la destination d'envoi résolue du message. Autrement dit, si la destination d'envoi est un alias, l'intégration de services utilise le bus cible et l'identificateur cible. Le traitement est alors effectué de la manière suivante :- Si la destination d'envoi se trouve dans un bus connecté indirectement, le nom de destination est stocké en tant que RemoteQName et le nom de bus en tant que RemoteQMgrName.
- Si la destination d'envoi se trouve dans le bus connecté directement et que le format du nom de destination (identificateur) a le format queue@queueManager, il stocke le nom de file d'attente (queue) sous la forme RemoteQName et le nom du gestionnaire de files d'attente (queueManager) sous la forme RemoteQMgrName.
- Si la destination d'envoi se trouve dans le bus connecté directement et que le format du nom de destination n'a pas le format queue@queueManager, le nom de destination est stocké en tant que RemoteQName et le nom de bus en tant que RemoteQMgrName.
Si la destination d'envoi se trouve dans un bus d'intégration de services associé indirectement et que le nom de sa destination n'est pas conforme aux règles de dénomination de IBM MQ, vous devez définir une destination d'alias avec un nom conforme ; l'application émettrice doit utiliser le nom (l'alias) conforme. Dans ce cas, vous devez définir la destination d'alias dans le bus éloigné (associé indirectement), et non le bus local.
Si la destination d'envoi se trouve dans un bus d'intégration de services associé indirectement et que le nom du bus n'est pas conforme aux règles de dénomination de IBM MQ, un nom de gestionnaire de files d'attente virtuelle doit être défini pour le bus associé indirectement. Dans ce cas, le bus local doit définir le bus associé indirectement à l'aide du nom du gestionnaire de files d'attente virtuel, et non le nom du bus.
Pour plus d'informations sur les noms de bus d'intégration de service de mappage qui ne respectent pas les restrictions de dénomination IBM MQ, voir Mode d'adressage aux destinations de bus et aux files d'attente IBM MQ.
- MQRFH2 jms.Dst (JMSDestination)
Si le message au format IBM MQ inclut l'en-tête MQRFH2, l'intégration de services sérialise la zone d'en-tête JMSDestination dans un identificateur URI IBM MQ et la stocke dans la zone JMSDestination du message IBM MQ. Si le message comporte un chemin de routage de transmission, l'intégration de services inclut cet identificateur URI en tant qu'attribut ibmRoutingPath.
- MQMD ReplyToQ
- MQMD ReplyToQMgr
L'application JMS émettrice peut définir ces zones directement à l'aide des propriétés de message JMS du fournisseur JMS_IBM_MQMD_ReplyToQ et JMS_IBM_MQMD_ReplyToQMgr. Si elle ne le fait pas, l'intégration de services définit les propriétés si (et seulement si) le message comporte une destination de réponse qui est une file d'attente.
L'intégration de services définit ces zones en fonction de la destination de réponse non résolue du message. Autrement dit, si la destination de réponse est un alias, l'intégration de services utilise l'identificateur et le bus de l'alias, mais pas l'identificateur et le bus cible. Les applications d'intégration de services ne doivent pas fournir de destinations de réponse qui sont des destinations externes ou qui comportent des noms dotés du caractère @. Si tel n'est pas le cas, le traitement est comme suit :- Le nom de la destination de réponse (identificateur) est stocké dans la zone ReplyToQ et le nom du bus de destination de réponse (nom du bus local) dans la zone ReplyToQMgr.
- Si le nom du gestionnaire de files d'attente virtuel est différent du nom du bus local, il est stocké dans la zone ReplyToQMgr à la place du nom du bus local.
Si le nom réel de la destination de réponse n'est pas conforme aux règles de dénomination IBM MQ(y compris si le caractère @ est inclus dans le nom), vous devez définir une destination d'alias avec un nom conforme et l'application émettrice doit utiliser le nom (l'alias) conforme. Dans ce cas, vous devez définir la destination d'alias dans le bus local et non dans le bus éloigné (associé indirectement).
- MQRFH2 jms.Rto (JMSReplyTo)
Si le message comporte une destination de réponse et que le message au format IBM MQ inclut l'en-tête MQRFH2, l'intégration de services génère un identificateur URI IBM MQ pour représenter cette destination de réponse et stocke l'identificateur URI dans la propriété JMSReplyTo du messageIBM MQ. Si la destination de réponse est une file d'attente, le descripteur URI inclut le nom du bus de destination de réponse (bus local) ou le nom du gestionnaire de files d'attente virtuelle (s'il est différent). Si le message comporte un chemin de routage inverse, l'intégration de services inclut ce chemin dans l'identificateur URI, dans l'attribut ibmRoutingPath.
Conversion de la destination lors de la conversion d'un message du format IBM MQ par l'intégration de services
- MQXQH RemoteQName
- MQXQH RemoteQMgrName
Ces zones sont applicables uniquement lorsque l'intégration de service reçoit le message via un lien IBM MQ et que la destination est une file d'attente.
L'intégration de services interprète la zone RemoteQName comme étant l'identificateur de la destination (il s'agit toujours d'une file d'attente) du message, et la zone RemoteQMgrName comme étant le nom du bus de destination du message. Si la zone RemoteQMgrName contient le nom du gestionnaire de files d'attente virtuelle du bus local, le service d'intégration l'interprète alors comme étant le nom du bus local. L'intégration de services utilise alors la combinaison résultante du bus et de l'identificateur de destination (il peut s'agir d'un alias de destination du bus local) pour distribuer le message normalement. Si le bus de destination est un bus externe, cela inclut le transfert du message vers ce bus externe.
- MQRFH2 jms.Dst (JMSDestination)
Si cette zone est disponible, le service d'intégration l'utilise alors pour créer la zone d'en-tête JMSDestination du message. Si l'identificateur URI comporte l'attribut ibmRoutingPath, l'intégration de services l'utilise pour créer le chemin de routage de transmission du message.
Si cette propriété n'est pas disponible (si le message IBM MQ ne comporte pas d'en-tête MQRFH2, par exemple), l'intégration de services peut créer une zone d'en-tête JMSDestination à partir de la destination d'intégration de services où le message est distribué.
- MQMD ReplyToQ
- MQMD ReplyToQMgr
- Si ces zones contiennent des valeurs définies, l'intégration de services les utilise pour générer le premier élément du chemin de routage inverse du message d'intégration de services, comme suit :
- Si ReplyToQMgr correspond au nom du bus local ou au nom du gestionnaire de files d'attente virtuelle, l'intégration de services définit le bus comme étant le bus local et le nom de destination (identificateur) ReplyToQ.
- Si ReplyToQMgr est un bus externe défini dans le bus local, l'intégration de services définit le bus ReplyToQMgr et le nom de destination (identificateur) ReplyToQ.
- Si ReplyToQMgr n'est pas le nom du bus local, le nom du gestionnaire de files d'attente virtuelle ou un bus externe défini dans le bus local, l'intégration de services définit le bus comme étant le bus IBM MQ associé directement et le nom de la destination (identificateur) file d'attente@gestionnairedeFilesd'attente où filed'attente correspond àReplyToQ et gestionnairedeFilesd'attente à ReplyToQMgr.
- MQRFH2 jms.Rto (JMSReplyTo)
Si cette zone est disponible, le service d'intégration l'utilise avec les zones ReplyToQ et ReplyToQMgr de MQMD pour créer le chemin de routage inverse et la zone d'en-tête JMSReplyTo pour le message d'intégration de services. Elle crée le chemin de routage inverse à partir du premier élément (généré à partir des zones ReplyToQ et ReplyToQMgr de MQMD) et tous les éléments restants obtenus de l'attribut ibmRoutingPath (s'il en existe un) de l'identificateur URIJMSReplyTo du message IBM MQ. Elle crée la zone d'en-tête JMSReplyTo à partir du premier élément du chemin de routage inverse et des attributs de destinations de l'identificateur URI JMSReplyTo du messageIBM MQ.