Je suis en train de configurer un serveur Tomcat qui exécute un courtier ActiveMQ intégré. J'utilise Spring pour configurer JMS. J'ai écrit une application de test pour écouter les sujets et quand je quitte l'application de test le courtier ActiveMQ jette SocketException. Voici l'exception:SocketException dans ActiveMQ lors de la sortie de l'application auditeur
2009-06-09 13:12:48,005 DEBUG Transport:229 - Transport failed: java.net.SocketException: Connection reset
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at org.apache.activemq.transport.tcp.TcpBufferedInputStream.fill(TcpBufferedInputStream.java:50)
at org.apache.activemq.transport.tcp.TcpBufferedInputStream.read(TcpBufferedInputStream.java:58)
at java.io.DataInputStream.readInt(DataInputStream.java:370)
at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:269)
at org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:210)
at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:202)
at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:185)
at java.lang.Thread.run(Thread.java:619)
Mon application de test des charges juste le fichier xml contexte, des boucles peut accueillir toutes les 60 secondes. Je me demandais si quelqu'un pourrait savoir pourquoi je reçois cette exception. Je suis très nouveau sur ActiveMQ et JMS en général donc toutes les idées seraient grandement appréciées.
Je l'ai compris. Je dois appeler close() sur l'objet ClassPathXmlApplicationContext avant que le programme d'essai se termine. Cela permettra au printemps fermer correctement les messages et les connexions Les auditeurs ont été créés pour consommer des messages avec le courtier ActiveMQ. –
Ok. Vous avez probablement des méthodes init/destroy spécifiées dans votre fichier XML Spring pour ActiveMQ? Ça a du sens. – ShabbyDoo