Index: src/main/java/org/springframework/batch/item/xml/StaxEventItemWriter.java =================================================================== --- src/main/java/org/springframework/batch/item/xml/StaxEventItemWriter.java (revision 13527) +++ src/main/java/org/springframework/batch/item/xml/StaxEventItemWriter.java (working copy) @@ -372,7 +372,11 @@ public void close(ExecutionContext executionContext) { flush(); try { + // Woodstox stable (3.2.6 as of this workaround) WstxEventWriter instances end documents on close + // automatically (if said instance started the document). + if (!delegateEventWriter.getClass().getName().equals("com.ctc.wstx.evt.WstxEventWriter") || restarted) { endDocument(delegateEventWriter); + } eventWriter.close(); channel.close(); }