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 2014/11/27 17:29:12 UTC
[jira] [Commented] (CAMEL-8086) Possible memoryleak when
convertBodyTo is used in a dynamicRouter
[ https://issues.apache.org/jira/browse/CAMEL-8086?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14227808#comment-14227808 ]
Claus Ibsen commented on CAMEL-8086:
------------------------------------
You should likely use recipient list instead. That only runs one time. The dynamic router repeats itself until the expression returns null.
> Possible memoryleak when convertBodyTo is used in a dynamicRouter
> -----------------------------------------------------------------
>
> Key: CAMEL-8086
> URL: https://issues.apache.org/jira/browse/CAMEL-8086
> Project: Camel
> Issue Type: Bug
> Components: camel-core
> Affects Versions: 2.13.2
> Reporter: Bjørn Hilstad
> Priority: Minor
>
> We have implemented a while loop using a dynamicRouter.
> The dynamicRouter looks like this:
> <dynamicRouter>
> <header>someheadername</header>
> </dynamicRouter>
> where someheadername refers to another route using direct:routename
> The route that handles direct:routename looks like this:
> <bean ref="someref"/>
> <convertBodyTo type="java.lang.String"/>
> The someref-bean just puts some data in the body and header and would also be responsible to set the value of someheadername=null to exit the dynamicRouter.
> During execution of these routes we see that heapusage increases until OOM if the dynamicRouter does not exit before OOM. The number of instances of DefaultMessage also keeps increasing.
> If we remove the <convertBodyTo> from the route we do not get OOM and the number of instances of DefaultMessage is stable and low.
> The same also happens if we replace <convertBodyTo> with a <transform>.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)