Session exceptions should only be notified via the exception listener, if it 
cannot be thrown directly to the application.
--------------------------------------------------------------------------------------------------------------------------

                 Key: QPID-3289
                 URL: https://issues.apache.org/jira/browse/QPID-3289
             Project: Qpid
          Issue Type: Bug
            Reporter: Rajith Attapattu
            Assignee: Rajith Attapattu


The 0-10 code path in the JMS client always notifies a session exception via 
the connection listener, even when it can throw a JMS exception for a 
synchronous method call.
For example session.createConsumer(destination) could fail due to an ACL 
violation and the session gets closed with an execution exception.
Currently the JMS client throws an exception and also notifies the connection 
listener which results in the connection (and any other sessions associated 
with that connection) being closed.

Another undesirable effect of this is the potential for deadlocks happening 
around the failovermutex.

A reasonable solution for this problem would be to not notify via the 
connection listener if there is a way of throwing an exception to the 
application directly.
For example session.createConsumer/Producer is a synchronous call and we could 
easily throw a JMS exception. In this case there is little value in notifying 
this via the connection listener and it also has the undesirable effect of 
closing the connection.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to