You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Jonathan Anstey (JIRA)" <ji...@apache.org> on 2016/04/21 23:02:13 UTC

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

Jonathan Anstey created CAMEL-9900:
--------------------------------------

             Summary: 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
            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)