You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Romain Manni-Bucau (JIRA)" <ji...@apache.org> on 2015/11/19 00:04:11 UTC
[jira] [Commented] (AMQ-6051) ActiveMQConnection leaking thread
when resources are not well closed
[ https://issues.apache.org/jira/browse/AMQ-6051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15012299#comment-15012299 ]
Romain Manni-Bucau commented on AMQ-6051:
-----------------------------------------
created https://github.com/apache/activemq/pull/157
> ActiveMQConnection leaking thread when resources are not well closed
> --------------------------------------------------------------------
>
> Key: AMQ-6051
> URL: https://issues.apache.org/jira/browse/AMQ-6051
> Project: ActiveMQ
> Issue Type: Bug
> Affects Versions: 5.12.0
> Reporter: Romain Manni-Bucau
>
> ActiveMQConnection starts a session task thread but doesnt close it if close() is called and the broker doesnt respond
> {code}
> try {
> if (isConnectionInfoSentToBroker) {
> // If we announced ourselves to the broker.. Try to let the broker
> // know that the connection is being shutdown.
> RemoveInfo removeCommand = info.createRemoveCommand();
> removeCommand.setLastDeliveredSequenceId(lastDeliveredSequenceId);
> try {
> doSyncSendPacket(removeCommand, closeTimeout);
> } catch (JMSException e) {
> if (e.getCause() instanceof RequestTimedOutIOException) {
> // expected
> } else {
> throw e;
> }
> }
> doAsyncSendPacket(new ShutdownInfo());
> }
> } finally {
> // ensure we clean up this connection anyway even if previous send fail
> // which can happen if we lost the connection with the broker
> started.set(false);
> // TODO if we move the TaskRunnerFactory to the connection
> // factory
> // then we may need to call
> // factory.onConnectionClose(this);
> if (sessionTaskRunner != null) {
> sessionTaskRunner.shutdown();
> }
> closed.set(true);
> closing.set(false);
> }
> {code}
> solves it
> tested on 5.12.0 but 5.12.x has the same code so I guess it has the same issue
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)