Hi this task is starting to get at the top of the pile... We're almost ready to ship and still, if ctrl-c the process (which runs the embedded broker) I don't manage to have it exiting. After having destroyed the consumers, the pools and the spring container itself it stays showing
Active Sessions = X Could someone please give me an advice on this? I really don't get how to shut this thing down without kill -9, which isn't really an option. Thanks a lot Francesco drvillo wrote: > > Hi > > after more than a month I haven't been able to solve this... > I'm currently destroying jencks' JCAConnectors and JCAContainer, > which also stop ActiveMQResourceAdapter as a side effect. > Then I stop the broker via stop(), followed by the > applicationcontext.stop(). > > Nevertheless I always get the trace below. IMHO the problem is that the > ActiveMQConnection tries to send > > asyncSendPacket(new ShutdownInfo()); > > but the broker has already shut down the Transport... > Is there anyone out there that manages to stop a context cleanly after > having exchanged some messages?If I start and stop the broker without > any message being sent it just stops fine... > > FIY I'm using the tcp transport. > I hope to get some feedback on this, it's quite hard to present a service > that exit with 100s lines of exceptions... > > Thanks a lot! > Francesco > > [.0.1:61617] WARN org.apache.activemq.ra.ActiveMQManagedConnection - > Connection failed: javax.jms.JMSException: java.io.EOFException > [.0.1:61617] 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 > [.0.1:61617] 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 > [.0.1:61617] WARN org.apache.activemq.ra.ActiveMQManagedConnection - > Connection failed: javax.jms.JMSException: java.io.EOFException > > > > > > drvillo wrote: >> >> 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-tf2870519s2354.html#a9177521 Sent from the ActiveMQ - User mailing list archive at Nabble.com.