I think this maybe a multi thread sync bug of ActiveMQConnection, for
example:
Thread main :
time 1. create a connection successfully;
time 2. activemq server shutdown;
time 3. send a message, learn activemq down state;
time 4. ActiveMQConnection.close();
time 5. throws javax.jms.JMSException on
ActiveMQConnection.doSyncSendPacket();

Thread ActiveMQ Connection Executor: unconnected :
time 6. ActiveMQConnection.onException() begin;
time 7. do nothing because of (!closing.get() && !closed.get());

So, ServiceSupport.dispose(this.transport) wouldn't be inoked,
FailoverTransport.reconnectTask wouldn't be shutdown;
ActiveMQ Task wakeup for ever, and doReconnect() returned at
((connectedTransport.get() != null && !doRebalance) || disposed ||
connectionFailure != null),
and high cpu usage;



--
View this message in context: 
http://activemq.2283324.n4.nabble.com/activemq5-5-client-high-cpu-usage-tp4675314p4675348.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to