You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Maurice Betzel (JIRA)" <ji...@apache.org> on 2014/07/08 13:45:04 UTC

[jira] [Created] (CAMEL-7585) Cyclic behaviour in shutdown of temporary queues used in a proxy

Maurice Betzel created CAMEL-7585:
-------------------------------------

             Summary: Cyclic behaviour in shutdown of temporary queues used in a proxy
                 Key: CAMEL-7585
                 URL: https://issues.apache.org/jira/browse/CAMEL-7585
             Project: Camel
          Issue Type: Bug
          Components: camel-jms
    Affects Versions: 2.13.2, 2.13.0
         Environment: Windows 7 64
Karaf 2.3.4
ActiveMQ 5.9.0 / 5.10.0
Spring 3.2.4
            Reporter: Maurice Betzel
            Priority: Minor


On bundle shutdown the DMLC for the temporairy queue does not get descarded. When stop() is called on the request reply JmsEndpoint the runningMessageListeners.get() count returns 1 preventing to call stop on ServiceSupport. Then inside the DMLC in refreshConnectionUntilSuccessful() isRunning() gets called resulting in a JmsEndpoint isRunning() returning true from ServiceSupport.
As a quick and dirty solution one can do this on bundle shutdown:
JmsEndpoint jmsEndpoint = camelContext.getEndpoint("amq:queue:Endpoint", JmsEndpoint.class);
jmsEndpoint.onListenerContainerStopped(null);

This will decrement the runningMessageListeners (which should always be on for temp queues because a singlethreadexecuter is used) to zero allowing stop() to propagate to ServiceSupport. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)