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)