2017-01-25 3 views
1

Je souhaite définir une ConnectionFactory jms comme ressource globale dans tomcat server.xml pour connecter mes webapps au serveur Artemis autonome.Connexion de Tomcat à Artemis Broker autonome via JNDI

Malheureusement, je n'ai pas trouvé de manuel officiel ou propre pour un tel cas d'utilisation commun qui décrit les bibliothèques et les configurations requises.

Quelqu'un peut-il me montrer un exemple?

+1

https://issues.apache.org/jira/browse/ARTEMIS-1182 – user7610

+0

Merci d'avance pour votre aide –

Répondre

1

Je n'ai trouvé aucune solution native basée sur Artemis. Le serveur Artemis est compatible avec le client ActiveMQ. Nous pouvons donc suivre le manuel ActiveMQ à cet effet.

  • Ajouter les bibliothèques clientes ActiveMQ à $ CATALINA_HOME/lib

    • geronimo-jms_2.0_spec-1.0-alpha-2.jar
    • ActiveMQ-client-5.14.3.jar
    • geronimo-j2ee-management_1.1_spec-1.0.1.jar
    • hawtbuf-1.11.jar
    • slf4j-api-1.7.6.jar
  • Ajouter une ressource globale à $ CATALINA_HOME/conf/server.xml

    <Resource auth="Container" 
        name="jms/ConnectionFactory" 
        type="org.apache.activemq.ActiveMQConnectionFactory" 
        factory="org.apache.activemq.jndi.JNDIReferenceFactory" 
        brokerURL="tcp://127.0.0.1:61616" 
        brokerName="MyActiveMQBroker"/> 
    
  • Ajouter un lien de ressource $ CATALINA_HOME/conf/context.xml

    <ResourceLink name="/ConnectionFactory" 
        global="jms/ConnectionFactory" 
        type="javax.jms.ConnectionFactory"/> 
    
  • Consulter l'usine de connexion contexte d'application

    <bean id="jmsConnectionFactory" 
        class="org.springframework.jndi.JndiObjectFactoryBean"> 
        <property name="jndiName" value="java:comp/env/ConnectionFactory" /> 
        <property name="proxyInterface" value="javax.jms.ConnectionFactory"/> 
    </bean>