MessageConsumer.receive() throwing InterruptedException after Thread suspension
resulting in an JMSException being thrown upon subsequent attempt to close
MessageConsumer.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: AMQ-3814
URL: https://issues.apache.org/jira/browse/AMQ-3814
Project: ActiveMQ
Issue Type: Bug
Affects Versions: 5.5.1
Reporter: Ingrid Olson
When I suspend a thread that is calling receive() on a MessageConsumer, a
JMSException is thrown. The cause of this is an InterruptedException. In the
catch block of the thrown JMSException, I then try calling close() the
MessageConsumer. Attempting to close the MessageConsumer throws another
JMSException due to an InterruptedIOException that gets thrown inside of the
"this.transport.oneway(command)" line of the doAsyncSendPacket(Command command)
call inside of the doClose() method inside of the close() method of the
ActiveMQMessageConsumer class.
The result of this is that the MessageConsumer does not close, so that when I
try to resubscribe my MessageConsumer to a durable Topic, I get an error that
the MessageConsumer is already in use for that subscription name and client ID.
#AMQ-3529 (https://issues.apache.org/jira/browse/AMQ-3529) looks like it
addresses a similar issue, which has supposedly been fixed. When I use the most
recent snapshot of 5.6, though, I still encounter the same problem.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira