You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Keith Wall (JIRA)" <ji...@apache.org> on 2015/03/19 14:02:38 UTC

[jira] [Updated] (QPID-6461) Closing a connection in a JMS ExceptionListener logs an InterruptedException

     [ https://issues.apache.org/jira/browse/QPID-6461?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Keith Wall updated QPID-6461:
-----------------------------
    Summary: Closing a connection in a JMS ExceptionListener logs an InterruptedException  (was: Closing a connection in a JMS ExceptionListener will fail to complete normally (and log InterruptedException))

> Closing a connection in a JMS ExceptionListener logs an InterruptedException
> ----------------------------------------------------------------------------
>
>                 Key: QPID-6461
>                 URL: https://issues.apache.org/jira/browse/QPID-6461
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Client
>    Affects Versions: 0.32
>            Reporter: Keith Wall
>            Assignee: Keith Wall
>
> Frameworks such as Spring install a exception listener that responds to all exceptions by stopping/closing the connection.  With the changes in 0.32 (QPID-6374), the task executor is now used for the invocation of the exception listener.  If the exception listener calls Connection#close(), it will close the sessions, then hang for two seconds awaiting shutdown of the task pool hence awaiting its own termination.  This naturally times-out, so the TaskExecutor interrupts the task (interrupting the close after 
> The JMS Specification (4.3.8) states that:
> bq. A Connection serializes execution of its ExceptionListener.
> Currently, as the client uses an unbounded executor task pool, many invocations of the application's exception listener may be in flight concurrently. This behaviour may break an application.
> This is a partly a long standing issue (the message bounces in 0-8..0-91 were potentially returned via the exception listener concurrently) and partly as a result of a more recent change (QPID-6374 in 0.32).  Here we started to use the task pool for redelivery of all asynchronous exceptions.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org