generating big files using apache camel and freemarker

231 views Asked by At

i'm currently facing a problem of out of memory when i'm trying to generate a big file using freemarker size > 300 MB.(it works well for small files)

<to  uri="freemarker:file:{{karaf.home}}/etc/fileGenerator.ftl" />

is there a way to avoid this problem ? my configuration : Apche karaf 4.2.6 : 4GB memory

Caused by: java.lang.OutOfMemoryError: Java heap space
    at java.util.Arrays.copyOf(Arrays.java:3332) ~[?:?]
    at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124) ~[?:?]
    at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:596) ~[?:?]
    at java.lang.StringBuffer.append(StringBuffer.java:367) ~[?:?]
    at java.io.StringWriter.write(StringWriter.java:94) ~[?:?]
    at java.io.Writer.write(Writer.java:127) ~[?:?]
    at freemarker.core.TextBlock.accept(TextBlock.java:67) ~[?:?]
    at freemarker.core.Environment.visit(Environment.java:330) ~[?:?]
    at freemarker.core.Environment.visit(Environment.java:372) ~[?:?]
    at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:317) ~[?:?]
    at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271) ~[?:?]
    at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242) ~[?:?]
    at freemarker.core.Environment.visitIteratorBlock(Environment.java:642) ~[?:?]
    at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107) ~[?:?]
    at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93) ~[?:?]
    at freemarker.core.Environment.visit(Environment.java:330) ~[?:?]
    at freemarker.core.Environment.visit(Environment.java:336) ~[?:?]
    at freemarker.core.Environment.visit(Environment.java:372) ~[?:?]
    at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:317) ~[?:?]
    at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271) ~[?:?]
    at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242) ~[?:?]
    at freemarker.core.Environment.visitIteratorBlock(Environment.java:642) ~[?:?]
    at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107) ~[?:?]
    at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93) ~[?:?]
    at freemarker.core.Environment.visit(Environment.java:330) ~[?:?]
    at freemarker.core.Environment.visit(Environment.java:372) ~[?:?]
    at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:317) ~[?:?]
    at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271) ~[?:?]
    at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242) ~[?:?]
    at freemarker.core.Environment.visitIteratorBlock(Environment.java:642) ~[?:?]
    at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107) ~[?:?]
    at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93) ~[?:?]
0

There are 0 answers