22.8. Déployer l'adaptateur de ressources WebSphere MQ


Websphere MQ

WebSphere MQ est un logiciel de messagerie Oriented Middleware (MOM) d'IBM qui permet à des applications sur des systèmes distribués de communiquer entre eux. Ceci est accompli grâce à l'utilisation des messages et des files d'attente de messages. WebSphere MQ est chargé de remettre des messages à des files d'attente de messages et pour transférer des données à d'autres gestionnaires de file d'attente à l'aide de canaux de message. Pour plus d'informations sur WebSphere MQ, voir WebSphere MQ.

Résumé

Cette section couvre les étapes à suivre pour déployer et configurer l'adaptateur de ressource Websphere MQ dans Red Hat JBoss Enterprise Application Platform 6. Cela peut se faire manuellement en modifiant les fichiers de configuration, par l'interface CLI, ou par la Console de gestion basée-web.

Note

Il y a un problème connu dans WebSphere MQ Resource Adapter version 7.5.0.3 et versions antérieures qui entraîne l'échec du processus de recouvrement périodique accompagné de l'exception XA qui laisse un message similaire à celui-ci dans le journal du serveur JBoss EAP : Copy to Clipboard Toggle word wrap
WARN  [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016027: Local XARecoveryModule.xaRecovery got XA exception XAException.XAER_INVAL: javax.transaction.xa.XAException: The method 'xa_recover' has failed with errorCode '-5'.
Il y a un correctif dans la version 7.5.0.4. Vous trouverez une desciption détaillée de ce problème ici : http://www-01.ibm.com/support/docview.wss?uid=swg1IC97579.
Sachez que WebSphere MQ 8.0, et versions supérieures, est non pris en charge dans EAP 6.x.
Conditions préalables

Avant de démarrer, vous devrez vérifier votre version d'adaptateur de ressource WebSphere MQ et comprendre certaines propriétés de configuration de WebSphere MQ.

  • L'adaptateur de ressources WebSphere MQ est fourni en tant que fichier RAR (Resource Archive) nommé wmq.jmsra-VERSION.rar. Vous devrez utiliser la version 7.5.0.x. Voir la note sur la version requise.
  • Vous devez connaître les valeurs des propriétés de configuration Websphere MQ suivantes. Voir la documentation de produit WebSphere MQ pour obtenir des détails sur ces propriétés.
    • MQ.QUEUE.MANAGER: le nom du gestionnaire de files d'attentes de WebSphere MQ
    • MQ.HOST.NAME: le nom d'hôte utilisé pour se connecter au gestionnaire de files d'attente de WebSphere MQ
    • MQ.CHANNEL.NAME: le canal de serveur utilisé pour se connecter au gestionnaire de files d'attente de WebSphere MQ
    • MQ.QUEUE.NAME: le nom de la file d'attente de destination
    • MQ.TOPIC.NAME: le nom du sujet de destination
    • MQ.PORT: le port utilisé pour se connecter au gestionnaire de files d'attente de WebSphere MQ
    • MQ.CLIENT: le type de transport
  • Pour les connexions sortantes, vous devrez vous familiariser avec la propriété de configuration suivante :
    • MQ.CONNECTIONFACTORY.NAME: le nom de l'instance d'usine de connexion qui fournit la connexion vers le système à distance.

Note

Voici les configurations par défaut fournies par IBM. Elles sont assujetties au changement. Veuillez vous référer à la documentation Websphere MQ pour plus d'informations.

Procédure 22.8. Déployer l'adaptateur de ressources manuellement

  1. Si vous avez besoin d'un support de transactions avec l'adaptateur de ressources de WebSphereMQ, vous devrez re-paquager l'archive wmq.jmsra-VERSION.rar pour qu'elle inclue mqetclient.jar. Vous devrez utiliser la commande suivante : Copy to Clipboard Toggle word wrap
    [user@host ~]$ jar -uf wmq.jmsra-VERSION.rar mqetclient.jar
    Soyez certain de remplacer VERSION par le numéro de version correct.
  2. Copier le fichier wmq.jmsra-VERSION.rar dans le répertoire EAP_HOME/standalone/deployments/.
  3. Ajouter l'adaptateur de ressources au fichier de configuration du serveur.
    1. Ouvrir le fichier EAP_HOME/standalone/configuration/standalone-full.xml dans un éditeur.
    2. Chercher le sous-système urn:jboss:domain:resource-adapters dans le fichier de configuration.
    3. Il n'y a pas d'adaptateur de ressources défini pour ce système. Veuillez commencer par remplacer : Copy to Clipboard Toggle word wrap
      <subsystem xmlns="urn:jboss:domain:resource-adapters:1.1"/>
      par ceci : Copy to Clipboard Toggle word wrap
      <subsystem xmlns="urn:jboss:domain:resource-adapters:1.1">
          <resource-adapters>
              <!-- <resource-adapter> configuration listed below -->
          </resource-adapters>
      </subsystem>
    4. La configuration de l'adaptateur de ressources dépend de si vous avez besoin de la restauration et du support de transactions. Si vous n'avez pas besoin de support de transaction, choisissez la première étape de configuration ci-dessous. Si vous avez besoin de support de transaction, choisissez la deuxième étape de la configuration.
      • Pour les déploiements non transactionnels, veuillez remplacer la configuration <!-- <resource-adapter> listée ci-dessous --> par ce qui suit : Copy to Clipboard Toggle word wrap
        <resource-adapter>
            <archive>
                wmq.jmsra-VERSION.rar
            </archive>
            <transaction-support>NoTransaction</transaction-support>
            <connection-definitions>
                <connection-definition 
                        class-name="com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl" 
                        jndi-name="java:jboss/MQ.CONNECTIONFACTORY.NAME" 
                        pool-name="MQ.CONNECTIONFACTORY.NAME">
                    <config-property name="hostName">
                        MQ.HOST.NAME
                    </config-property>
                    <config-property name="port">
                        MQ.PORT
                    </config-property>
                    <config-property name="channel">
                        MQ.CHANNEL.NAME
                    </config-property>
                    <config-property name="transportType">
                        MQ.CLIENT
                    </config-property>
                    <config-property name="queueManager">
                        MQ.QUEUE.MANAGER
                    </config-property>
                    <security>
                        <security-domain>MySecurityDomain</security-domain>
                    </security>
               </connection-definition>
            </connection-definitions>
            <admin-objects>
                <admin-object 
                        class-name="com.ibm.mq.connector.outbound.MQQueueProxy" 
                        jndi-name="java:jboss/MQ.QUEUE.NAME" 
                        pool-name="MQ.QUEUE.NAME">
                    <config-property name="baseQueueName">
                        MQ.QUEUE.NAME
                    </config-property>
                    <config-property name="baseQueueManagerName">
                        MQ.QUEUE.MANAGER
                    </config-property>
               </admin-object>  
               <admin-object class-name="com.ibm.mq.connector.outbound.MQTopicProxy"
                        jndi-name="java:jboss/MQ.TOPIC.NAME" pool-name="MQ.TOPIC.NAME">
                    <config-property name="baseTopicName">
                        MQ.TOPIC.NAME
                    </config-property>
                    <config-property name="brokerPubQueueManager">
                        MQ.QUEUE.MANAGER
                    </config-property>
               </admin-object>
            </admin-objects>
        </resource-adapter>
        Soyez certain de remplacer VERSION par le numéro de version correct qui se trouve dans le nom du RAR.
      • Pour les déploiements transactionnels, veuillez remplacer la configuration <!-- <resource-adapter> listée ci-dessous --> par ce qui suit : Copy to Clipboard Toggle word wrap
        <resource-adapter>
            <archive>
                wmq.jmsra-VERSION.rar
            </archive>
            <transaction-support>XATransaction</transaction-support>
            <connection-definitions>
                <connection-definition 
                        class-name="com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl" 
                        jndi-name="java:jboss/MQ.CONNECTIONFACTORY.NAME" 
                        pool-name="MQ.CONNECTIONFACTORY.NAME">
                    <config-property name="hostName">
                        MQ.HOST.NAME
                    </config-property>
                    <config-property name="port">
                        MQ.PORT
                    </config-property>
                    <config-property name="channel">
                        MQ.CHANNEL.NAME
                    </config-property>
                    <config-property name="transportType">
                        MQ.CLIENT
                    </config-property>
                    <config-property name="queueManager">
                        MQ.QUEUE.MANAGER
                    </config-property>
                   <security>
                        <security-domain>MySecurityDomain</security-domain>
                    </security>
                    <recovery>
                        <recover-credential>
                            <user-name>USER_NAME</user-name>
                            <password>PASSWORD</password>
                        </recover-credential>
                    </recovery>
                </connection-definition>
            </connection-definitions>
            <admin-objects>
                <admin-object 
                        class-name="com.ibm.mq.connector.outbound.MQQueueProxy" 
                        jndi-name="java:jboss/MQ.QUEUE.NAME" 
                        pool-name="MQ.QUEUE.NAME">
                    <config-property name="baseQueueName">
                        MQ.QUEUE.NAME
                    </config-property>
                    <config-property name="baseQueueManagerName">
                        MQ.QUEUE.MANAGER
                    </config-property>
                </admin-object>
                <admin-object class-name="com.ibm.mq.connector.outbound.MQTopicProxy"
                        jndi-name="java:jboss/MQ.TOPIC.NAME" pool-name="MQ.TOPIC.NAME">
                    <config-property name="baseTopicName">
                        MQ.TOPIC.NAME
                    </config-property>
                    <config-property name="brokerPubQueueManager">
                        MQ.QUEUE.MANAGER
                    </config-property>
                </admin-object>
            </admin-objects>
        </resource-adapter>
        Soyez certain de remplacer VERSION par le numéro de version correct qui se trouve dans le nom du RAR. Vous devrez également remplacer USER_NAME et PASSWORD avec le nom et le mot de passe valides.

        Note

        Pour supporter les transactions, l'élément <transaction-support> a été défini à XATransaction. Pour supporter XA recovery, l'élément <recovery> a été ajouté à une définition de connexion.
    5. Si vous souhaitez changer le fournisseur par défaut en système de messagerie EJB3 dans JBoss EAP 6 de HornetQ vers WebSphere MQ, modifier le sous-système urn:jboss:domain:ejb3:1.2 comme suit :
      Remplacer : Copy to Clipboard Toggle word wrap
      <mdb>
          <resource-adapter-ref resource-adapter-name="hornetq-ra"/>
          <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
      </mdb>
      par : Copy to Clipboard Toggle word wrap
      <mdb>
          <resource-adapter-ref resource-adapter-name="wmq.jmsra-VERSION.rar"/>
          <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
      </mdb>
      Soyez certain de remplacer VERSION par le numéro de version correct qui se trouve dans le nom du RAR.

Procédure 22.9. Modifier le code MDB pour utiliser l'adaptateur de ressources

  • Configurer ActivationConfigProperty et ResourceAdapter du code MDB comme suit : Copy to Clipboard Toggle word wrap
    @MessageDriven(name="WebSphereMQMDB", activationConfig = {
        @ActivationConfigProperty(propertyName = "destinationType",propertyValue = "javax.jms.Queue"),
        @ActivationConfigProperty(propertyName = "useJNDI", propertyValue = "false"),
        @ActivationConfigProperty(propertyName = "hostName", propertyValue = "MQ.HOST.NAME"),
        @ActivationConfigProperty(propertyName = "port", propertyValue = "MQ.PORT"),
        @ActivationConfigProperty(propertyName = "channel", propertyValue = "MQ.CHANNEL.NAME"),
        @ActivationConfigProperty(propertyName = "queueManager", propertyValue = "MQ.QUEUE.MANAGER"),
        @ActivationConfigProperty(propertyName = "destination", propertyValue = "MQ.QUEUE.NAME"),
        @ActivationConfigProperty(propertyName = "transportType", propertyValue = "MQ.CLIENT")
    })
    
    @ResourceAdapter(value = "wmq.jmsra-VERSION.rar")
    @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
    public class WebSphereMQMDB implements MessageListener {
    }
    Soyez certain de remplacer VERSION par le numéro de version correct qui se trouve dans le nom du RAR.
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat, Inc.