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