You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Bjørn Hilstad (JIRA)" <ji...@apache.org> on 2014/12/02 13:44:12 UTC

[jira] [Reopened] (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:all-tabpanel ]

Bjørn Hilstad reopened CAMEL-8086:
----------------------------------

I have tried implementing it the way you suggested but the issue is the same. As long as the convertBodyTo is in the route we get the OOM, if I remove it the while loop can run indefinitely without OOM.
I am attaching a route (in a spring context) and a simple processor implementation to illustrate this. I can also upload a working application (or maven projects you can build yourself) if required.

> 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)