IN PROGRESS - BATCH-34: Support for multiple I/O files in a single jobRun for a particular scheduleDate.

take advantage of ExecutionContextUserSupport superclass
This commit is contained in:
robokaso
2008-11-07 14:28:17 +00:00
parent 7436423060
commit fc7b07e9ad

View File

@@ -29,7 +29,7 @@ import org.springframework.util.ClassUtils;
*
* @author Robert Kasanicky
*/
public class MultiResourceItemWriter<T> implements ItemWriter<T>, ItemStream {
public class MultiResourceItemWriter<T> extends ExecutionContextUserSupport implements ItemWriter<T>, ItemStream {
final static private String RESOURCE_INDEX_KEY = "resource.index";
@@ -45,8 +45,6 @@ public class MultiResourceItemWriter<T> implements ItemWriter<T>, ItemStream {
private int resourceIndex = 1;
private ExecutionContextUserSupport ecSupport = new ExecutionContextUserSupport();
public MultiResourceItemWriter() {
setName(ClassUtils.getShortName(MultiResourceItemWriter.class));
}
@@ -82,9 +80,9 @@ public class MultiResourceItemWriter<T> implements ItemWriter<T>, 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<T> implements ItemWriter<T>, 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));
}
/**