Configuration de destinations JMS
Vous pouvez configurer les destinations JMS fournies par des adaptateurs de ressources conformes à la spécification JCA (Java™ EE Connector Architecture).
Pourquoi et quand exécuter cette tâche
- javax.jms.Destination: jmsDestination
- javax.jms.Queue: jmsQueue
- javax.jms.Topic: jmsTopic
Pour ajouter une prise en charge de JCA dans Liberty, vous devez éditer le fichier server.xml depuis la vue Source de l'éditeur de configuration de serveur de WebSphere Application Server Developer Tools for Eclipse ou depuis un autre éditeur de texte. L'édition de portions de la configuration pour les fabriques de connexions, les objets d'administration, les spécifications d'activation et les adaptateurs de ressource, n'est pas prise en charge dans la version bêta.
Procédure
Exemple
Utilisez l'exemple suivant pour savoir comment configurer les adaptateurs de ressources avec deux destinations JMS avec noms de classe d'implémentation uniques
Dans le fragment suivant issu d'un fichier ra.xml, l'adaptateur de ressources MyAdapter fournit deux destinations JMS avec noms de classe d'implémentation uniques :
<adminobject>
<adminobject-interface>javax.jms.Destination</adminobject-interface>
<adminobject-class>com.vendor.adapter.QueueImpl</adminobject-class>
<config-property>
<config-property-name>queueName</config-property-name>
<config-property-type>java.lang.String</config-property-type>
</config-property>
...
</adminobject>
<adminobject>
<adminobject-interface>javax.jms.Destination</adminobject-interface>
<adminobject-class>com.vendor.adapter.TopicImpl</adminobject-class>
<config-property>
<config-property-name>topicName</config-property-name>
<config-property-type>java.lang.String</config-property-type>
</config-property>
...
</adminobject>
Ci-dessous figure un exemple de configuration de serveur pour ce scénario :<jmsDestination jndiName="jms/destination1">
<properties.MyAdapter.QueueImpl queueName="D1"/>
</adminObject>
<jmsDestination jndiName="jms/destination2">
<properties.MyAdapter.TopicImpl topicName="D2"/>
</jmsDestination>
Utilisez l'exemple suivant pour savoir comment configurer des adaptateurs de ressources avec deux objets gérés sans noms de classe d'implémentation uniques.
Dans le fragment suivant issu d'un fichier ra.xml, l'adaptateur de ressources MyAdapter fournit deux objets gérés sans noms de classe d'implémentation uniques :
<adminobject>
<adminobject-interface>javax.jms.Queue</adminobject-interface>
<adminobject-class>com.vendor.adapter.QueueImpl</adminobject-class>
<config-property>
<config-property-name>queueName</config-property-name>
<config-property-type>java.lang.String</config-property-type>
</config-property>
...
</adminobject>
<adminobject>
<adminobject-interface>javax.jms.Queue</adminobject-interface>
<adminobject-class>com.vendor.adapter.advanced.QueueImpl</adminobject-class>
<config-property>
<config-property-name>name</config-property-name>
<config-property-type>java.lang.String</config-property-type>
</config-property>
...
</adminobject>
Ci-dessous figure un exemple de configuration de serveur pour ce scénario :<jmsQueue jndiName="jms/myQueue">
<properties.MyAdapter.com.vendor.adapter.QueueImpl queueName="Q1"/>
</jmsQueue>
<jmsQueue jndiName="jms/myAdvancedQueue">
<properties.MyAdapter.com.vendor.adapter.advanced.QueueImpl name="Q1"/>
</jmsQueue>
Sous certains scénarios, des noms d'éléments de configuration trop longs peuvent être indésirables. Pour savoir comment redéfinir les suffixes des noms des éléments de configuration, reportez-vous aux rubriques sur la personnalisation des éléments de configuration JCA.