Robbie Gemmell created QPIDJMS-521:
--------------------------------------
Summary: ExceptionListener fired due to async dispatch failure is
unable to close the Session/Connection
Key: QPIDJMS-521
URL: https://issues.apache.org/jira/browse/QPIDJMS-521
Project: Qpid JMS
Issue Type: Task
Reporter: Robbie Gemmell
**When an unexpected failure occurs during the process of dispatching a message
to an asynchronous consumer (i.e the work surrounding, but not including,
onMessage), the connection ExceptionListener is fired as a result. If the
ExceptionListener attempts to close the consumers containing Session or
Connection it will currently fail with an javax.jms.IllegalStateException
noting an "Illegal invocation from MessageListener callback".
This happens because the session async dispatch thread is ordinarily not
allowed to call these methods, is in keeping with the impl and their API
definitions. However, in this case it is not firing onMessage at the time but
is rather actually firing onException instead (and has relinquished the session
delivery lock). As such the "Illegal invocation" exception is incorrect and the
thread calling those operations should be permitted during this scenario.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]