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) ~[?:?]