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.

Reply via email to