[
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