[
https://issues.apache.org/jira/browse/CAMEL-9197?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-9197.
--------------------------------
Resolution: Fixed
Assignee: Claus Ibsen
Fix Version/s: 2.17.0
We have improved the data format marshal to better support stream caching. It
may be improved in the latest 2.16.2 release. I tested with master.
On a JVM with 64mb limit I can find run this example and not eat up any memory.
In older versions the GC would also reclaim the memory but it could use
200-300mb during processing one of those files.
> Memory leak with .marshal().json() if stream caching enabled
> ------------------------------------------------------------
>
> Key: CAMEL-9197
> URL: https://issues.apache.org/jira/browse/CAMEL-9197
> Project: Camel
> Issue Type: Bug
> Affects Versions: 2.14.2, 2.14.3, 2.15.0, 2.15.1, 2.15.2, 2.15.3
> Environment: Centos 7, JDK 1.8
> Reporter: Luca Quintarelli
> Assignee: Claus Ibsen
> Fix For: 2.17.0
>
> Attachments: CamelStreamTest.zip
>
>
> from("file:src/data?noop=true")
> .split().tokenizeXML("Item").streaming().stopOnException()
> .unmarshal(jaxb)
> .marshal().json(JsonLibrary.Jackson)
> // This line causes a memory leak if stream caching enabled
> .log("File ${in.header.CamelFileName} token
> ${in.header.CamelSplitIndex}")
> .end();
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)