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 2012/12/13 11:40:17 UTC

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

    [ https://issues.apache.org/jira/browse/CAMEL-5870?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13530886#comment-13530886 ] 

Claus Ibsen commented on CAMEL-5870:
------------------------------------

The bug is not in Camel but in spring-jms. So people can upgrade to newer spring releases when they are out.

Though if you change anything in Camel, mind that this will affect
http://camel.apache.org/routepolicy.html

if ppl use the throttling route policy to throttle jms consumers. As the sheer number of suspend/resume with the destroy may cause degrations / other issues down the road.
                
> 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