Bonjour
Je développe une application avec Spring 2.5. L'application est déployée sous Tomcat 6. Pour des besoins de processus asynchrone et de communication avec d'autres applications j'utilise JMS grâce au Message Broker Active MQ 5.2.
Mon Broker Active MQ est embarqué dans mon application.
Voici ma configuration Spring :
J'injecte ensuite mon jmsTemplate là où j'en ai besoin.
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 <!-- a pooling based JMS provider --> <bean id="jmsFactory" class="org.apache.activemq.pool.PooledConnectionFactory" destroy-method="stop"> <property name="connectionFactory"> <bean class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="vm://localhost:61616" /> </bean> </property> </bean> <bean id="theQueue" class="org.apache.activemq.command.ActiveMQQueue"> <constructor-arg index="0" value="theQueue" /> </bean> <!-- Spring JMS Template --> <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> <property name="defaultDestination" ref="theQueue" /> <property name="connectionFactory" ref="jmsFactory" /> </bean>
Déjà pourriez vous me dire si tout cela vous semble correct ?
Tout marche bien sauf à l'arrêt de Tomcat. Tomcat plante avec l'exception suivante :
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
22
23
24 ERROR org.springframework.jms.listener.SimpleMessageListenerContainer - Encountered non-recoverable JMSException javax.jms.JMSException: Peer (vm://localhost#1) disposed. at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:49) at org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1773) at org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1790) at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:99) at org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:114) at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:99) at org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:203) at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122) at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) Caused by: org.apache.activemq.transport.TransportDisposedIOException: Peer (vm://localhost#1) disposed. ... 6 more 6 mai 2009 17:35:46 org.apache.catalina.core.StandardService stop INFO: Arr´+¢t du service Catalina Exception in thread "AWT-Windows" java.lang.IllegalStateException: Shutdown in progress at java.lang.ApplicationShutdownHooks.add(ApplicationShutdownHooks.java:39) at java.lang.Runtime.addShutdownHook(Runtime.java:192) at sun.awt.windows.WToolkit.run(WToolkit.java:276) at java.lang.Thread.run(Thread.java:619)
Pourriez vous me guider vers la résolution de ce problème ?
Merci d'avance pour votre aide.
Partager