You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2016/04/22 08:34:12 UTC

[jira] [Updated] (CAMEL-9900) camel-jms - provide option for MessageListenerContainer for reply managers to stop quicker when CamelContext is stopping

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

Claus Ibsen updated CAMEL-9900:
-------------------------------
    Component/s: camel-jms

> camel-jms - provide option for MessageListenerContainer for reply managers to stop quicker when CamelContext is stopping
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-9900
>                 URL: https://issues.apache.org/jira/browse/CAMEL-9900
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-jms
>            Reporter: Jonathan Anstey
>            Assignee: Jonathan Anstey
>             Fix For: 2.17.1, 2.18.0
>
>
> CAMEL-7667 included a fix for the DMLC used in JMS consumers to stop quickly if the CameContext is already shutting down. This helps avoid spring-jms getting into a bad state with a null sharedConnection which has a telling stack like:
> {code}
> 2014-08-07 10:33:42,975 [sonnel.records]] ERROR ultJmsMessageListenerContainer - Could not refresh JMS Connection for destination 'personnel.records' - retrying in 5000 ms. Cause: null
> java.lang.NullPointerException
> 	at org.springframework.jms.listener.AbstractJmsListeningContainer.refreshSharedConnection(AbstractJmsListeningContainer.java:392)
> 	at org.springframework.jms.listener.DefaultMessageListenerContainer.refreshConnectionUntilSuccessful(DefaultMessageListenerContainer.java:885)
> 	at org.springframework.jms.listener.DefaultMessageListenerContainer.recoverAfterListenerSetupFailure(DefaultMessageListenerContainer.java:861)
> 	at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1012)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:744)
> {code}
> This can also occur in the DMLC used for request-reply messaging. We should provide an option for this to be enabled because usually this is not an issue and you don't mind waiting for a while for replies to come in.



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