activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From liangwb2001 <liangwb2...@gmail.com>
Subject Re: activemq5.5 client high cpu usage
Date Wed, 11 Dec 2013 08:16:36 GMT
I think this is a multi thread sync bug of ActiveMQConnection, for example:
	ExceptionListener exceptionListener = new ExceptionListener() {
		public onException(JMSException exception){
			conn.close;
		}
	};

Thread main :
time 1. create a connection successfully;
time 2. connection.setExceptionListener(exceptionListener);
time 3. activemq server shutdown;
time 4. send a message, learn activemq down state;

Thread onAsyncException()'s new Runnable -- ActiveMQ Connection Executor:
unconnected :
time 5. ActiveMQConnection.close();
time 6. throws javax.jms.JMSException on
ActiveMQConnection.doSyncSendPacket();

Thread onException()'s new Runnable -- ActiveMQ Connection Executor:
unconnected :
time 7. do nothing because of (!closing.get() && !closed.get()) == false;

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-tp4675314p4675349.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Mime
View raw message