From a5aa6212506bfe050da8bea38e95f880b2fed8b7 Mon Sep 17 00:00:00 2001 From: robokaso Date: Mon, 25 May 2009 15:10:35 +0000 Subject: [PATCH] RESOLVED - BATCH-1245: StaxEventItemWriter writes extra end document tag with Woodstox 3.2.9 plus applied patch --- .../batch/item/xml/StaxEventItemWriter.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/StaxEventItemWriter.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/StaxEventItemWriter.java index 9a31543f7..7c0ac0e83 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/StaxEventItemWriter.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/xml/StaxEventItemWriter.java @@ -316,6 +316,15 @@ public class StaxEventItemWriter extends ExecutionContextUserSupport implemen XMLOutputFactory outputFactory = XMLOutputFactory.newInstance(); + if (outputFactory.isPropertySupported("com.ctc.wstx.automaticEndElements")) { + // If the current XMLOutputFactory implementation is supplied by + // Woodstox >= 3.2.9 we want to disable its + // automatic end element feature (see: + // http://jira.codehaus.org/browse/WSTX-165) per + // http://jira.springframework.org/browse/BATCH-761. + outputFactory.setProperty("com.ctc.wstx.automaticEndElements", Boolean.FALSE); + } + try { transactionAwareBufferedWriter = new TransactionAwareBufferedWriter( new OutputStreamWriter(os, encoding), getName());