camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <>
Subject [jira] [Commented] (CAMEL-8086) Possible memoryleak when convertBodyTo is used in a dynamicRouter
Date Wed, 03 Dec 2014 14:19:12 GMT


Claus Ibsen commented on CAMEL-8086:

I also found an optimization we can do in convertBodyTo/transform/setBody to avoid the message
copy if its not a specialized message, as in those case we can just set the replace body directly.

> Possible memoryleak when convertBodyTo is used in a dynamicRouter
> -----------------------------------------------------------------
>                 Key: CAMEL-8086
>                 URL:
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.13.2
>            Reporter: Bjørn Hilstad
>            Assignee: Claus Ibsen
>            Priority: Minor
>             Fix For: 2.14.1, 2.15.0, 2.13.4
>         Attachments:, applicationContext.xml
> 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

View raw message