diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/ItemWriteListener.java b/spring-batch-core/src/main/java/org/springframework/batch/core/ItemWriteListener.java index 5ba6fdd13..54c542f32 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/ItemWriteListener.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/ItemWriteListener.java @@ -36,8 +36,9 @@ public interface ItemWriteListener extends BatchListener { * Called after {@link ItemWriter#write(Object) If the item is last in a * chunk, this will be called before any transaction is committed, and * before {@link ChunkListener#afterChunk()} + * @param item TODO */ - void afterWrite(); + void afterWrite(Object item); /** * Called if an error occurs while trying to write. diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/listener/BatchListenerSupport.java b/spring-batch-core/src/main/java/org/springframework/batch/core/listener/BatchListenerSupport.java index d4ea6d11f..7c9f0840d 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/listener/BatchListenerSupport.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/listener/BatchListenerSupport.java @@ -85,7 +85,7 @@ public class BatchListenerSupport implements StepListener, ChunkListener, /* (non-Javadoc) * @see org.springframework.batch.core.domain.ItemWriteListener#afterWrite() */ - public void afterWrite() { + public void afterWrite(Object item) { } /* (non-Javadoc) diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/listener/CompositeItemWriteListener.java b/spring-batch-core/src/main/java/org/springframework/batch/core/listener/CompositeItemWriteListener.java index 83a23823a..07a30111a 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/listener/CompositeItemWriteListener.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/listener/CompositeItemWriteListener.java @@ -51,10 +51,10 @@ public class CompositeItemWriteListener implements ItemWriteListener { } } - public void afterWrite() { + public void afterWrite(Object item) { for (Iterator iterator = listeners.iterator(); iterator.hasNext();) { ItemWriteListener listener = (ItemWriteListener) iterator.next(); - listener.afterWrite(); + listener.afterWrite(item); } } diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/listener/ItemListenerSupport.java b/spring-batch-core/src/main/java/org/springframework/batch/core/listener/ItemListenerSupport.java index a173403c7..725e60fd2 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/listener/ItemListenerSupport.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/listener/ItemListenerSupport.java @@ -31,7 +31,7 @@ public class ItemListenerSupport implements ItemWriteListener, ItemReadListener /* (non-Javadoc) * @see org.springframework.batch.core.domain.ItemWriteListener#afterWrite() */ - public void afterWrite() { + public void afterWrite(Object item) { } /* (non-Javadoc) diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/listener/MulticasterBatchListener.java b/spring-batch-core/src/main/java/org/springframework/batch/core/listener/MulticasterBatchListener.java index 8af539826..5cbe9ef67 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/listener/MulticasterBatchListener.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/listener/MulticasterBatchListener.java @@ -146,10 +146,10 @@ public class MulticasterBatchListener implements StepListener, ChunkListener, It /** * - * @see org.springframework.batch.core.listener.CompositeItemWriteListener#afterWrite() + * @see org.springframework.batch.core.listener.CompositeItemWriteListener#afterWrite(Object) */ - public void afterWrite() { - itemWriteListener.afterWrite(); + public void afterWrite(Object item) { + itemWriteListener.afterWrite(item); } /** diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/step/BatchListenerFactoryHelper.java b/spring-batch-core/src/main/java/org/springframework/batch/core/step/BatchListenerFactoryHelper.java index 138f45881..907de5b14 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/step/BatchListenerFactoryHelper.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/step/BatchListenerFactoryHelper.java @@ -98,7 +98,7 @@ class BatchListenerFactoryHelper { try { multicaster.beforeWrite(item); super.write(item); - multicaster.afterWrite(); + multicaster.afterWrite(item); } catch (Exception e) { multicaster.onWriteError(e, item); diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/listener/CompositeItemWriteListenerTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/listener/CompositeItemWriteListenerTests.java index 54d536e5f..0df8faf40 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/listener/CompositeItemWriteListenerTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/listener/CompositeItemWriteListenerTests.java @@ -49,9 +49,10 @@ public class CompositeItemWriteListenerTests extends TestCase { } public void testAfterWrite(){ - listener.afterWrite(); + Object item = new Object(); + listener.afterWrite(item); listenerControl.replay(); - compositeListener.afterWrite(); + compositeListener.afterWrite(item); listenerControl.verify(); }