Hi all using AMQ head, with jencks 1.3, and running and embedded broker:
I can't find a way of shutting the service down, meaning the broker and the spring context without exceptions. Since I've read that I'm supposed to stop all the clients before shutting down the broker actually I'm doing this: public void onTearDown() throws Exception { JCAConnector con = (JCAConnector) testSupport.getBean("inboundConnectorStage1"); con.destroy(); con = (JCAConnector) testSupport.getBean("mockInboundConnectorStage2"); con.destroy(); JCAContainer cont = (JCAContainer) testSupport.getBean("jencksJCAContainer"); cont.destroy(); XBeanBrokerService broker = (XBeanBrokerService) testSupport.getBean("broker"); broker.stop(); } followed by an applicationContext.close(); The two JCAConnectors above are the only ones started. Nevertheless the logs show that a ServerSession is requested after destroying them: DEBUG org.apache.activemq.broker.region.AbstractRegion - Removing consumer: ID:obimac.local-49248-1166791529603-3:1:-1:2 DEBUG org.apache.activemq.broker.region.AbstractRegion - Removing consumer: ID:obimac.local-49248-1166791529603-3:1:-1:1 DEBUG org.apache.activemq.broker.TransportConnection - Stopping connection: /127.0.0.1:49250 DEBUG org.apache.activemq.broker.TransportConnection - Stopped connection: /127.0.0.1:49250 DEBUG org.apache.activemq.broker.region.AbstractRegion - Removing consumer: ID:obimac.local-49248-1166791529603-3:0:-1:2 DEBUG org.apache.activemq.broker.region.AbstractRegion - Removing consumer: ID:obimac.local-49248-1166791529603-3:0:-1:1 DEBUG org.apache.activemq.broker.TransportConnection - Stopping connection: /127.0.0.1:49251 DEBUG org.apache.activemq.broker.TransportConnection - Stopped connection: /127.0.0.1:49251 DEBUG org.apache.activemq.ra.ServerSessionPoolImpl - ServerSession requested. DEBUG org.apache.activemq.ra.ServerSessionPoolImpl - ServerSession requested. INFO org.apache.activemq.broker.BrokerService - ActiveMQ Message Broker (brokerConfigTest, ID:obimac.local-49248-1166791529603-0:0) is shutting down DEBUG org.apache.activemq.broker.TransportConnection - Stopping connection: /127.0.0.1:49252 DEBUG org.apache.activemq.broker.TransportConnection - Stopped connection: /127.0.0.1:49252 INFO org.apache.activemq.broker.TransportConnector - Connector tcp Stopped WARN org.apache.activemq.ra.ActiveMQManagedConnection - Connection failed: javax.jms.JMSException: java.io.EOFException DEBUG org.apache.activemq.ra.ActiveMQManagedConnection - Cause: javax.jms.JMSException: java.io.EOFException at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46) at org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1527) at org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1543) at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96) at org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:114) at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96) at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96) at org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:147) at org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:150) at org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:97) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:150) at java.lang.Thread.run(Thread.java:613) Caused by: java.io.EOFException at java.io.DataInputStream.readInt(DataInputStream.java:358) at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267) at org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136) ... 1 more INFO org.apache.activemq.broker.BrokerService - ActiveMQ JMS Message Broker (brokerConfigTest, ID:obimac.local-49248-1166791529603-0:0) stopped WARN org.apache.geronimo.connector.outbound.GeronimoConnectionEventListener - connectionErrorOccurred called with null javax.jms.JMSException: java.io.EOFException at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:46) at org.apache.activemq.ActiveMQConnection.onAsyncException(ActiveMQConnection.java:1527) at org.apache.activemq.ActiveMQConnection.onException(ActiveMQConnection.java:1543) at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96) at org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:114) at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96) at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:96) at org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:147) at org.apache.activemq.transport.InactivityMonitor.onException(InactivityMonitor.java:150) at org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:97) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:150) at java.lang.Thread.run(Thread.java:613) Caused by: java.io.EOFException at java.io.DataInputStream.readInt(DataInputStream.java:358) at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:267) at org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:156) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:136) ... 1 more INFO org.springframework.context.support.ClassPathXmlApplicationContext - Closing application context [org.springframework.context.support.ClassPathXmlApplicationContext;hashCode=4167406] DEBUG org.apache.geronimo.connector.outbound.SinglePoolConnectionInterceptor - returning connectionnull INFO org.springframework.beans.factory.support.DefaultListableBeanFactory - Destroying singletons in {org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [transactionContextManager,geronimo,transactionManager,connectionManager,jmsResourceAdapter,jmsManagedConnectionFactory,jmsConnectionFactory,jencksJCAContainer,broker,stage1Queue,stage2Queue,stage3Queue,dataSource,hcDao,wdDao,wdServiceTarget,wdService,dbHelper,controller,sendSeed,hstcntBundle,hostcountProperties,resolver,service,inboundConnectorStage1,stage1,sendStage1,stage2,mockInboundConnectorStage2]; root of BeanFactory hierarchy} INFO org.apache.activemq.ra.ActiveMQManagedConnection - Error occured during close of a JMS connection. javax.jms.JMSException: The transport is not running. at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:58) at org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1167) at org.apache.activemq.ActiveMQConnection.close(ActiveMQConnection.java:580) at org.apache.activemq.ra.ActiveMQManagedConnection.destroy(ActiveMQManagedConnection.java:225) at org.apache.geronimo.connector.outbound.MCFConnectionInterceptor.returnConnection(MCFConnectionInterceptor.java:57) at org.apache.geronimo.connector.outbound.LocalXAResourceInsertionInterceptor.returnConnection(LocalXAResourceInsertionInterceptor.java:50) at org.apache.geronimo.connector.outbound.SinglePoolMatchAllConnectionInterceptor.internalReturn(SinglePoolMatchAllConnectionInterceptor.java:138) at org.apache.geronimo.connector.outbound.AbstractSinglePoolConnectionInterceptor.returnConnection(AbstractSinglePoolConnectionInterceptor.java:119) at org.apache.geronimo.connector.outbound.TransactionEnlistingInterceptor.returnConnection(TransactionEnlistingInterceptor.java:94) at org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.returnConnection(TransactionCachingInterceptor.java:93) at org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.returnConnection(ConnectionHandleInterceptor.java:71) at org.apache.geronimo.connector.outbound.TCCLInterceptor.returnConnection(TCCLInterceptor.java:50) at org.apache.geronimo.connector.outbound.GeronimoConnectionEventListener.connectionErrorOccurred(GeronimoConnectionEventListener.java:81) at org.apache.activemq.ra.ActiveMQManagedConnection.fireErrorOccurredEvent(ActiveMQManagedConnection.java:192) at org.apache.activemq.ra.ActiveMQManagedConnection.onException(ActiveMQManagedConnection.java:416) at org.apache.activemq.ActiveMQConnection$4.run(ActiveMQConnection.java:1532) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:613) Caused by: java.io.IOException: The transport is not running. at org.apache.activemq.transport.TransportSupport.checkStarted(TransportSupport.java:103) at org.apache.activemq.transport.tcp.TcpTransport.oneway(TcpTransport.java:117) at org.apache.activemq.transport.InactivityMonitor.oneway(InactivityMonitor.java:141) at org.apache.activemq.transport.TransportFilter.oneway(TransportFilter.java:80) at org.apache.activemq.transport.WireFormatNegotiator.oneway(WireFormatNegotiator.java:93) at org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:43) at org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60) at org.apache.activemq.ActiveMQConnection.asyncSendPacket(ActiveMQConnection.java:1165) ... 17 more INFO org.apache.xbean.spring.context.ResourceXmlApplicationContext - Closing application context [org.apache.xbean.spring.context.ResourceXmlApplicationContext;hashCode=12706611] DEBUG org.apache.xbean.spring.context.ResourceXmlApplicationContext - Publishing event in context [org.apache.xbean.spring.context.ResourceXmlApplicationContext;hashCode=12706611]: org.springframework.context.event.ContextClosedEvent[source=org.apache.xbean.spring.context.ResourceXmlApplicationContext: display name [org.apache.xbean.spring.context.ResourceXmlApplicationContext;hashCode=12706611]; startup date [Fri Dec 22 13:45:28 CET 2006]; child of [org.springframework.context.support.ClassPathXmlApplicationContext: display name [org.springframework.context.support.ClassPathXmlApplicationContext;hashCode=4167406]; startup date [Fri Dec 22 13:45:27 CET 2006]; root of context hierarchy]] INFO org.springframework.beans.factory.support.DefaultListableBeanFactory - Destroying singletons in {org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [org.apache.activemq.xbean.XBeanBrokerService]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [transactionContextManager,geronimo,transactionManager,connectionManager,jmsResourceAdapter,jmsManagedConnectionFactory,jmsConnectionFactory,jencksJCAContainer,broker,stage1Queue,stage2Queue,stage3Queue,dataSource,hcDao,wdDao,wdServiceTarget,wdService,dbHelper,controller,sendSeed,hstcntBundle,hostcountProperties,resolver,service,inboundConnectorStage1,stage1,sendStage1,stage2,mockInboundConnectorStage2]; root of BeanFactory hierarchy} Is there any way of having a clean shutdown? With the vm transport a useShutdownHook=true would do the job, but with tcp I can't get any further... Thanks for any suggestion, Francesco -- View this message in context: http://www.nabble.com/Cannot-shutdown-cleanly-tf2870519.html#a8023068 Sent from the ActiveMQ - User mailing list archive at Nabble.com.