[SOLVED] "Java heap space" OutOfMemory error in renderTask [message #1804253] |
Thu, 21 March 2019 09:15  |
Eclipse User |
|
|
|
I have problems to print excel reports (xls and xlsx) when the size get to big.
xls 50k rows
xlsx 15k rows
I have found some options to reduce the cache size when it reaches a given size.
for example:
org.eclipse.birt.data.cache.memory
org.eclipse.birt.data.query.ResultBufferSize
org.eclipse.birt.data.cache.RowLimit
but this only effects my query result the cache of the renderTask is my real problem.
Are their some parameters to change the cache behavoir of the renderTask?
I tried different Birt engines without success.
Increase the heap space is not an option.
[Updated on: Tue, 02 April 2019 07:20] by Moderator Report message to a moderator
|
|
|
Re: "Java heap space" OutOfMemory error in renderTask [message #1804534 is a reply to message #1804253] |
Thu, 28 March 2019 12:30   |
Eclipse User |
|
|
|
I have foud a solution to solve my problem.
In the newer version of the spudsoft emitter is an option (ExcelEmitter.ExtractMode) to change the apache.poi workbook from xssf to sxssf.
With sxssf the system can stream data to hdd before heap space is out of memory. (sxssf has looses some features like pictures in excel, but this is worth of it)
to be save in the query phase:
task.getAppContext().put("org.eclipse.birt.data.query.ResultBufferSize", new Integer(5));
(or use row_fetch_size in the dataset of the birt rptdesign file)
and in the render phase:
options = new RenderOption();
options.setOption( "ExcelEmitter.ExtractMode", "TRUE");
options of the spudsoft emitter:
https://bitbucket.org/yaytay/spudsoft-birt-excel-emitters/wiki/UserProperties
|
|
|
Re: "Java heap space" OutOfMemory error in renderTask [message #1824043 is a reply to message #1804534] |
Tue, 07 April 2020 02:16   |
Eclipse User |
|
|
|
I am also getting same error when i run my report which is having 5lak records from the oracle DB.
When i add the below code under Layout>Script> BeforeRender report not getting generated.
options = new RenderOption();
options.setOption( "ExcelEmitter.ExtractMode", "TRUE");
Can you please someone help me where i supposed to add the below code and setting to change( apache.poi workbook from xssf to sxssf.)
I have foud a solution to solve my problem.
In the newer version of the spudsoft emitter is an option (ExcelEmitter.ExtractMode) to change the apache.poi workbook from xssf to sxssf.
With sxssf the system can stream data to hdd before heap space is out of memory. (sxssf has looses some features like pictures in excel, but this is worth of it)
to be save in the query phase:
task.getAppContext().put("org.eclipse.birt.data.query.ResultBufferSize", new Integer(5));
(or use row_fetch_size in the dataset of the birt rptdesign file)
and in the render phase:
options = new RenderOption();
options.setOption( "ExcelEmitter.ExtractMode", "TRUE");
|
|
|
|
Powered by
FUDForum. Page generated in 0.25193 seconds