Did you try os.close() and wb.close() after your flush?
On Sep 4, 2016 20:50, "Hongdi Ren" <[email protected]> wrote:
> Hi Javen,
>
> Per my understanding, before call Workbook.write, the XML nodes shouldn’t
> be unreachable, the workbook should have strong reference to the nodes. Is
> that right?
>
> Seems the attached picture isn’t working. Here’s our code. The output
> stream is from servlet response. The valueList(rows) is about tens of
> thousands. The nameList(column) is about 20.
>
> public static void export(OutputStream os, List<String> nameList,
> List<List<String>> valueList) throws IOException{
> Workbook wb = new XSSFWorkbook();
> String safeSheetNameName = WorkbookUtil.
> createSafeSheetName("sheet1");
> Sheet sheet = wb.createSheet(safeSheetNameName);
> Row nameRow = sheet.createRow(0);
> for (int i = 0; i < nameList.size(); i++) {
> nameRow.createCell(i).setCellValue(nameList.get(i));
> }
> for (int i = 1; i <= valueList.size(); i++) {
> List<String> list = valueList.get(i - 1);
> Row valueRow = sheet.createRow(i);
> for (int j = 0; j < list.size(); j++) {
> valueRow.createCell(j).setCellValue(list.get(j));
> }
> }
> wb.write(os);
> os.flush();
> }
>
> On 9/5/16, 11:25 AM, "Javen O'Neal" <[email protected]> wrote:
>
> Without more detail, my guess would be that your JVM has 2GB of XML
> nodes.
> Nothing is flushed to disk with XSSF until you call Workbook.write, and
> nothing is cleared until Workbook.close.
>
> If you only need to create a workbook, the SXSSF streaming API is the
> way
> to go.
>
> On Sep 4, 2016 7:45 PM, "Hongdi Ren" <[email protected]> wrote:
>
> > Hi all,
> >
> >
> >
> > We’re using poi & poi-ooxml 3.14 generating tens of thousands of
> rows to
> > be downloaded.
> >
> >
> >
> > We have a problem that jvm keeps old gc 5 times/min but nothing
> could be
> > collected. What’s more, when we looked into the jvmdump, it has 2G
> > unreachable objects closed related with poi. We have no idea why
> that can’t
> > be cleaned out.
> >
> >
> >
> > It might be better to use the stream api which we would try
> recently, but
> > is there any idea why could this happen?
> >
> >
> >
> >
> >
> > Attached detailed information:
> >
> > code
> >
> >
> >
> > And the jvmdump shows
> >
> >
> >
> > ------------------------------------------------------------
> ---------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> >
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>