OPEN - issue BATCH-673: Add new Java 5.0 features
http://jira.springframework.org/browse/BATCH-673 Added StepListenerFactoryBean to StepParser, along with updating the XSD to support listener methods.
This commit is contained in:
@@ -3,6 +3,7 @@ package org.springframework.batch.core.configuration.xml;
|
||||
import org.springframework.batch.core.ExitStatus;
|
||||
import org.springframework.batch.core.StepExecution;
|
||||
import org.springframework.batch.core.StepExecutionListener;
|
||||
import org.springframework.batch.core.annotation.AfterRead;
|
||||
|
||||
public class TestListener extends AbstractTestComponent implements StepExecutionListener {
|
||||
|
||||
@@ -13,5 +14,14 @@ public class TestListener extends AbstractTestComponent implements StepExecution
|
||||
public void beforeStep(StepExecution stepExecution) {
|
||||
executed = true;
|
||||
}
|
||||
|
||||
public void destroy(){
|
||||
|
||||
}
|
||||
|
||||
@AfterRead
|
||||
public void logItem(){
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -73,9 +73,9 @@ public class StepListenerFactoryBeanTests {
|
||||
public void testStepAndChunk() throws Exception{
|
||||
|
||||
factoryBean.setDelegate(testClass);
|
||||
Map<StepListenerMetaData, String> metaDataMap = new HashMap<StepListenerMetaData, String>();;
|
||||
metaDataMap.put(AFTER_STEP, "destroy");
|
||||
metaDataMap.put(AFTER_CHUNK, "afterChunk");
|
||||
Map<String, String> metaDataMap = new HashMap<String, String>();;
|
||||
metaDataMap.put(AFTER_STEP.getPropertyName(), "destroy");
|
||||
metaDataMap.put(AFTER_CHUNK.getPropertyName(), "afterChunk");
|
||||
factoryBean.setMetaDataMap(metaDataMap);
|
||||
Object item = new Object();
|
||||
List<Object> items = new ArrayList<Object>();
|
||||
@@ -120,8 +120,8 @@ public class StepListenerFactoryBeanTests {
|
||||
//method name, that all three will be called
|
||||
ThreeStepExecutionListener delegate = new ThreeStepExecutionListener();
|
||||
factoryBean.setDelegate(delegate);
|
||||
Map<StepListenerMetaData, String> metaDataMap = new HashMap<StepListenerMetaData, String>();;
|
||||
metaDataMap.put(AFTER_STEP, "destroy");
|
||||
Map<String, String> metaDataMap = new HashMap<String, String>();;
|
||||
metaDataMap.put(AFTER_STEP.getPropertyName(), "destroy");
|
||||
factoryBean.setMetaDataMap(metaDataMap);
|
||||
StepListener listener = (StepListener) factoryBean.getObject();
|
||||
((StepExecutionListener)listener).afterStep(stepExecution);
|
||||
@@ -132,8 +132,8 @@ public class StepListenerFactoryBeanTests {
|
||||
public void testAnnotatingInterfaceResultsInOneCall() throws Exception{
|
||||
MultipleAfterStep delegate = new MultipleAfterStep();
|
||||
factoryBean.setDelegate(delegate);
|
||||
Map<StepListenerMetaData, String> metaDataMap = new HashMap<StepListenerMetaData, String>();;
|
||||
metaDataMap.put(AFTER_STEP, "afterStep");
|
||||
Map<String, String> metaDataMap = new HashMap<String, String>();;
|
||||
metaDataMap.put(AFTER_STEP.getPropertyName(), "afterStep");
|
||||
factoryBean.setMetaDataMap(metaDataMap);
|
||||
StepListener listener = (StepListener) factoryBean.getObject();
|
||||
((StepExecutionListener)listener).afterStep(stepExecution);
|
||||
|
||||
Reference in New Issue
Block a user