Bonjour,
J'essaye d'utiliser activeMQ avec JNDI et Tomcat mais quand je lance ma classe pour la connexion à ActiveMQ, cela me dit: Le Nom connectionFactory n'est pas lié à ce Contexte
Je ne vois pas de ou cela provient. Voici le fichier jndi.properties:
web.xml:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory # use the following property to configure the default connector java.naming.provider.url = tcp://localhost:61616 # use the following property to specify the JNDI name the connection factory # should appear as. connectionFactoryNames = connectionFactory # Queue dans laquelle le producteur doit envoyer les messages queue.Producteur = queueProd # Queue dans laquelle le lecteur doit récupérer les messages queue.Lecteur = queueLect
connexion:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <web-app> <servlet> <servlet-name>JMSContextListener</servlet-name> <servlet-class>controller.JMSContextListener</servlet-class> </servlet> <listener> <listener-class>controller.JMSContextListener</listener-class> </listener> </web-app>
Merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 public Connexion(String queueUtiliser){ try{ context = new InitialContext(); //Création d'une connexion factory ActiveMQConnectionFactory connectionFactory = (ActiveMQConnectionFactory)context.lookup("connectionFactory" ); //Création d'une connexion connection = connectionFactory.createConnection(); connection.start(); //Création d'une session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); //Création d'une destination destination = (Destination) context.lookup(queueUtiliser); }catch (Exception e) { System.out.println("Caught Exception: " + e); e.printStackTrace(); } }
Partager