From: PJ Fanning Date: Thu, 11 Nov 2021 13:24:37 +0000 (+0000) Subject: try to handle logging issue where DeferredSXSSFWorkbook close can lead to logging... X-Git-Tag: REL_5_2_0~241 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=530af684b3ae51b464c2e8a2a4633c72eaeade66;p=poi.git try to handle logging issue where DeferredSXSSFWorkbook close can lead to logging about close already having been called git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1894951 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/StreamingSheetWriter.java b/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/StreamingSheetWriter.java index 173e6963bd..1e467244f5 100644 --- a/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/StreamingSheetWriter.java +++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/StreamingSheetWriter.java @@ -37,6 +37,7 @@ import org.apache.poi.util.Beta; @Beta public class StreamingSheetWriter extends SheetDataWriter { private static final Logger LOG = LogManager.getLogger(StreamingSheetWriter.class); + private boolean closed = false; public StreamingSheetWriter() throws IOException { throw new RuntimeException("StreamingSheetWriter requires OutputStream"); @@ -68,7 +69,9 @@ public class StreamingSheetWriter extends SheetDataWriter { @Override public void close() throws IOException { - _out.flush(); + if (!closed) { + _out.flush(); + } } @Override @@ -78,7 +81,10 @@ public class StreamingSheetWriter extends SheetDataWriter { @Override boolean dispose() throws IOException { - _out.close(); + if (!closed) { + _out.close(); + } + closed = true; return true; } }