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 @@ - - - - - - - - - - - - + + + + + + + + + + + + - +