diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/MultiResourceItemWriter.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/MultiResourceItemWriter.java index f2a2f71b9..b2b9053b2 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/MultiResourceItemWriter.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/MultiResourceItemWriter.java @@ -29,7 +29,7 @@ import org.springframework.util.ClassUtils; * * @author Robert Kasanicky */ -public class MultiResourceItemWriter implements ItemWriter, ItemStream { +public class MultiResourceItemWriter extends ExecutionContextUserSupport implements ItemWriter, ItemStream { final static private String RESOURCE_INDEX_KEY = "resource.index"; @@ -45,8 +45,6 @@ public class MultiResourceItemWriter implements ItemWriter, ItemStream { private int resourceIndex = 1; - private ExecutionContextUserSupport ecSupport = new ExecutionContextUserSupport(); - public MultiResourceItemWriter() { setName(ClassUtils.getShortName(MultiResourceItemWriter.class)); } @@ -82,9 +80,9 @@ public class MultiResourceItemWriter implements ItemWriter, ItemStream { } public void open(ExecutionContext executionContext) throws ItemStreamException { - resourceIndex = Long.valueOf(executionContext.getLong(ecSupport.getKey(RESOURCE_INDEX_KEY), 1L)).intValue(); + resourceIndex = Long.valueOf(executionContext.getLong(getKey(RESOURCE_INDEX_KEY), 1L)).intValue(); currentResourceItemCount = Long.valueOf( - executionContext.getLong(ecSupport.getKey(CURRENT_RESOURCE_ITEM_COUNT), 0L)).intValue(); + executionContext.getLong(getKey(CURRENT_RESOURCE_ITEM_COUNT), 0L)).intValue(); try { pointDelegateToNextResource(); } @@ -96,12 +94,8 @@ public class MultiResourceItemWriter implements ItemWriter, ItemStream { public void update(ExecutionContext executionContext) throws ItemStreamException { delegate.update(executionContext); - executionContext.put(ecSupport.getKey(CURRENT_RESOURCE_ITEM_COUNT), Long.valueOf(currentResourceItemCount)); - executionContext.put(ecSupport.getKey(RESOURCE_INDEX_KEY), Long.valueOf(resourceIndex)); - } - - public void setName(String name) { - ecSupport.setName(name); + executionContext.put(getKey(CURRENT_RESOURCE_ITEM_COUNT), Long.valueOf(currentResourceItemCount)); + executionContext.put(getKey(RESOURCE_INDEX_KEY), Long.valueOf(resourceIndex)); } /**