You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Raul Kripalani (JIRA)" <ji...@apache.org> on 2012/12/12 20:24:20 UTC

[jira] [Created] (CAMEL-5870) camel-jms: Avoid DMLC.stop(), as it's buggy under certain conditions

Raul Kripalani created CAMEL-5870:
-------------------------------------

             Summary: camel-jms: Avoid DMLC.stop(), as it's buggy under certain conditions
                 Key: CAMEL-5870
                 URL: https://issues.apache.org/jira/browse/CAMEL-5870
             Project: Camel
          Issue Type: Task
    Affects Versions: 2.10.3
            Reporter: Raul Kripalani
            Assignee: Raul Kripalani
             Fix For: 2.9.6, 2.10.4, 2.11.0


Spring's DefaultMessageListenerContainer leaks MessageConsumers, Sessions and Connections when maxMessagesPerTask is greater than -1 (i.e. you have defined how many messages you'll process in each task).

Here is the bug report: https://jira.springsource.org/browse/SPR-10092.

This happens if you first call DLMC.stop(), followed by DLMC.destroy(). The stop() method pauses the consuming tasks, and the destroy() method "forgets" to free the underlying resources.

We use DLMC.stop() when suspending the JmsConsumer.

To circumvent this issue, let's destroy the DLMC directly even when suspending the consumer. It's the safest option for now.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira