diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/support/CompositeItemWriter.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/support/CompositeItemWriter.java
index 1c0b1298c..cedbffae6 100644
--- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/support/CompositeItemWriter.java
+++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/support/CompositeItemWriter.java
@@ -3,15 +3,16 @@ package org.springframework.batch.item.support;
import java.util.Iterator;
import java.util.List;
-import org.springframework.batch.item.AbstractItemWriter;
+import org.springframework.batch.item.ClearFailedException;
+import org.springframework.batch.item.FlushFailedException;
import org.springframework.batch.item.ItemWriter;
/**
- * Runs a collection of ItemProcessors in fixed-order sequence.
+ * Calls a collection of ItemWriters in fixed-order sequence.
*
* @author Robert Kasanicky
*/
-public class CompositeItemWriter extends AbstractItemWriter {
+public class CompositeItemWriter implements ItemWriter {
private List delegates;
@@ -28,4 +29,16 @@ public class CompositeItemWriter extends AbstractItemWriter {
}
}
+ public void clear() throws ClearFailedException {
+ for (Iterator iterator = delegates.listIterator(); iterator.hasNext();) {
+ ((ItemWriter) iterator.next()).clear();
+ }
+ }
+
+ public void flush() throws FlushFailedException {
+ for (Iterator iterator = delegates.listIterator(); iterator.hasNext();) {
+ ((ItemWriter) iterator.next()).flush();
+ }
+ }
+
}
diff --git a/spring-batch-samples/src/main/resources/jobs/compositeProcessorSampleJob.xml b/spring-batch-samples/src/main/resources/jobs/compositeProcessorSampleJob.xml
index 319627056..ad988911d 100644
--- a/spring-batch-samples/src/main/resources/jobs/compositeProcessorSampleJob.xml
+++ b/spring-batch-samples/src/main/resources/jobs/compositeProcessorSampleJob.xml
@@ -12,7 +12,12 @@
-
+
+
+
+
+
+
@@ -21,26 +26,26 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
+