IN PROGRESS - issue BATCH-894: RFC: move ExitStatus up into Core?
Change Tasklet to use RepeatStatus instead of ExitStatus to signal continuable status
This commit is contained in:
@@ -48,9 +48,9 @@ public class ExitStatusTests {
|
||||
*/
|
||||
@Test
|
||||
public void testExitStatusConstantsContinuable() {
|
||||
ExitStatus status = ExitStatus.CONTINUABLE;
|
||||
ExitStatus status = ExitStatus.EXECUTING;
|
||||
assertTrue(status.isContinuable());
|
||||
assertEquals("CONTINUABLE", status.getExitCode());
|
||||
assertEquals("EXECUTING", status.getExitCode());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -72,7 +72,7 @@ public class ExitStatusTests {
|
||||
*/
|
||||
@Test
|
||||
public void testEqualsWithSameProperties() throws Exception {
|
||||
assertEquals(ExitStatus.CONTINUABLE, new ExitStatus(true, "CONTINUABLE"));
|
||||
assertEquals(ExitStatus.EXECUTING, new ExitStatus(true, "EXECUTING"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -93,7 +93,7 @@ public class ExitStatusTests {
|
||||
*/
|
||||
@Test
|
||||
public void testEqualsWithNull() throws Exception {
|
||||
assertFalse(ExitStatus.CONTINUABLE.equals(null));
|
||||
assertFalse(ExitStatus.EXECUTING.equals(null));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -103,7 +103,7 @@ public class ExitStatusTests {
|
||||
*/
|
||||
@Test
|
||||
public void testHashcode() throws Exception {
|
||||
assertEquals(ExitStatus.CONTINUABLE.toString().hashCode(), ExitStatus.CONTINUABLE.hashCode());
|
||||
assertEquals(ExitStatus.EXECUTING.toString().hashCode(), ExitStatus.EXECUTING.hashCode());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -112,8 +112,8 @@ public class ExitStatusTests {
|
||||
*/
|
||||
@Test
|
||||
public void testAndBoolean() {
|
||||
assertTrue(ExitStatus.CONTINUABLE.and(true).isContinuable());
|
||||
assertFalse(ExitStatus.CONTINUABLE.and(false).isContinuable());
|
||||
assertTrue(ExitStatus.EXECUTING.and(true).isContinuable());
|
||||
assertFalse(ExitStatus.EXECUTING.and(false).isContinuable());
|
||||
ExitStatus status = new ExitStatus(false, "CUSTOM_CODE", "CUSTOM_DESCRIPTION");
|
||||
assertTrue(status.and(true).getExitCode() == "CUSTOM_CODE");
|
||||
assertTrue(status.and(true).getExitDescription() == "CUSTOM_DESCRIPTION");
|
||||
@@ -126,10 +126,10 @@ public class ExitStatusTests {
|
||||
*/
|
||||
@Test
|
||||
public void testAndExitStatusStillContinuable() {
|
||||
assertTrue(ExitStatus.CONTINUABLE.and(ExitStatus.CONTINUABLE).isContinuable());
|
||||
assertFalse(ExitStatus.CONTINUABLE.and(ExitStatus.FINISHED).isContinuable());
|
||||
assertTrue(ExitStatus.CONTINUABLE.and(ExitStatus.CONTINUABLE).getExitCode().equals(
|
||||
ExitStatus.CONTINUABLE.getExitCode()));
|
||||
assertTrue(ExitStatus.EXECUTING.and(ExitStatus.EXECUTING).isContinuable());
|
||||
assertFalse(ExitStatus.EXECUTING.and(ExitStatus.FINISHED).isContinuable());
|
||||
assertTrue(ExitStatus.EXECUTING.and(ExitStatus.EXECUTING).getExitCode().equals(
|
||||
ExitStatus.EXECUTING.getExitCode()));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -139,7 +139,7 @@ public class ExitStatusTests {
|
||||
*/
|
||||
@Test
|
||||
public void testAndExitStatusWhenFinishedAddedToContinuable() {
|
||||
assertEquals(ExitStatus.FINISHED.getExitCode(), ExitStatus.CONTINUABLE.and(ExitStatus.FINISHED).getExitCode());
|
||||
assertEquals(ExitStatus.FINISHED.getExitCode(), ExitStatus.EXECUTING.and(ExitStatus.FINISHED).getExitCode());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -149,7 +149,7 @@ public class ExitStatusTests {
|
||||
*/
|
||||
@Test
|
||||
public void testAndExitStatusWhenContinuableAddedToFinished() {
|
||||
assertEquals(ExitStatus.FINISHED.getExitCode(), ExitStatus.FINISHED.and(ExitStatus.CONTINUABLE).getExitCode());
|
||||
assertEquals(ExitStatus.FINISHED.getExitCode(), ExitStatus.FINISHED.and(ExitStatus.EXECUTING).getExitCode());
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -159,7 +159,7 @@ public class ExitStatusTests {
|
||||
*/
|
||||
@Test
|
||||
public void testAndExitStatusWhenCustomContinuableAddedToContinuable() {
|
||||
assertEquals("CUSTOM", ExitStatus.CONTINUABLE.and(ExitStatus.CONTINUABLE.replaceExitCode("CUSTOM"))
|
||||
assertEquals("CUSTOM", ExitStatus.EXECUTING.and(ExitStatus.EXECUTING.replaceExitCode("CUSTOM"))
|
||||
.getExitCode());
|
||||
}
|
||||
|
||||
@@ -182,52 +182,52 @@ public class ExitStatusTests {
|
||||
@Test
|
||||
public void testAndExitStatusWhenCustomContinuableAddedToFinished() {
|
||||
assertEquals(ExitStatus.FINISHED.getExitCode(), ExitStatus.FINISHED.and(
|
||||
ExitStatus.CONTINUABLE.replaceExitCode("CUSTOM")).getExitCode());
|
||||
ExitStatus.EXECUTING.replaceExitCode("CUSTOM")).getExitCode());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddExitCode() throws Exception {
|
||||
ExitStatus status = ExitStatus.CONTINUABLE.replaceExitCode("FOO");
|
||||
assertTrue(ExitStatus.CONTINUABLE != status);
|
||||
ExitStatus status = ExitStatus.EXECUTING.replaceExitCode("FOO");
|
||||
assertTrue(ExitStatus.EXECUTING != status);
|
||||
assertTrue(status.isContinuable());
|
||||
assertEquals("FOO", status.getExitCode());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddExitCodeToExistingStatus() throws Exception {
|
||||
ExitStatus status = ExitStatus.CONTINUABLE.replaceExitCode("FOO").replaceExitCode("BAR");
|
||||
assertTrue(ExitStatus.CONTINUABLE != status);
|
||||
ExitStatus status = ExitStatus.EXECUTING.replaceExitCode("FOO").replaceExitCode("BAR");
|
||||
assertTrue(ExitStatus.EXECUTING != status);
|
||||
assertTrue(status.isContinuable());
|
||||
assertEquals("BAR", status.getExitCode());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddExitCodeToSameStatus() throws Exception {
|
||||
ExitStatus status = ExitStatus.CONTINUABLE.replaceExitCode(ExitStatus.CONTINUABLE.getExitCode());
|
||||
assertTrue(ExitStatus.CONTINUABLE != status);
|
||||
ExitStatus status = ExitStatus.EXECUTING.replaceExitCode(ExitStatus.EXECUTING.getExitCode());
|
||||
assertTrue(ExitStatus.EXECUTING != status);
|
||||
assertTrue(status.isContinuable());
|
||||
assertEquals(ExitStatus.CONTINUABLE.getExitCode(), status.getExitCode());
|
||||
assertEquals(ExitStatus.EXECUTING.getExitCode(), status.getExitCode());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddExitDescription() throws Exception {
|
||||
ExitStatus status = ExitStatus.CONTINUABLE.addExitDescription("Foo");
|
||||
assertTrue(ExitStatus.CONTINUABLE != status);
|
||||
ExitStatus status = ExitStatus.EXECUTING.addExitDescription("Foo");
|
||||
assertTrue(ExitStatus.EXECUTING != status);
|
||||
assertTrue(status.isContinuable());
|
||||
assertEquals("Foo", status.getExitDescription());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddExitDescriptionToSameStatus() throws Exception {
|
||||
ExitStatus status = ExitStatus.CONTINUABLE.addExitDescription("Foo").addExitDescription("Foo");
|
||||
assertTrue(ExitStatus.CONTINUABLE != status);
|
||||
ExitStatus status = ExitStatus.EXECUTING.addExitDescription("Foo").addExitDescription("Foo");
|
||||
assertTrue(ExitStatus.EXECUTING != status);
|
||||
assertTrue(status.isContinuable());
|
||||
assertEquals("Foo", status.getExitDescription());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddEmptyExitDescription() throws Exception {
|
||||
ExitStatus status = ExitStatus.CONTINUABLE.addExitDescription("Foo").addExitDescription(null);
|
||||
ExitStatus status = ExitStatus.EXECUTING.addExitDescription("Foo").addExitDescription(null);
|
||||
assertEquals("Foo", status.getExitDescription());
|
||||
}
|
||||
|
||||
@@ -245,7 +245,7 @@ public class ExitStatusTests {
|
||||
|
||||
@Test
|
||||
public void testSerializable() throws Exception {
|
||||
ExitStatus status = ExitStatus.CONTINUABLE.replaceExitCode("FOO");
|
||||
ExitStatus status = ExitStatus.EXECUTING.replaceExitCode("FOO");
|
||||
byte[] bytes = SerializationUtils.serialize(status);
|
||||
Object object = SerializationUtils.deserialize(bytes);
|
||||
assertTrue(object instanceof ExitStatus);
|
||||
|
||||
@@ -104,7 +104,7 @@ public class StepExecutionTests {
|
||||
*/
|
||||
@Test
|
||||
public void testGetExitCode() {
|
||||
assertEquals(ExitStatus.CONTINUABLE, execution.getExitStatus());
|
||||
assertEquals(ExitStatus.EXECUTING, execution.getExitStatus());
|
||||
execution.setExitStatus(ExitStatus.FINISHED);
|
||||
assertEquals(ExitStatus.FINISHED, execution.getExitStatus());
|
||||
}
|
||||
|
||||
@@ -3,14 +3,16 @@ package org.springframework.batch.core.configuration.xml;
|
||||
import org.springframework.batch.core.ExitStatus;
|
||||
import org.springframework.batch.core.StepContribution;
|
||||
import org.springframework.batch.core.step.tasklet.Tasklet;
|
||||
import org.springframework.batch.repeat.RepeatStatus;
|
||||
import org.springframework.core.AttributeAccessor;
|
||||
|
||||
public class TestTasklet extends AbstractTestComponent implements Tasklet {
|
||||
|
||||
public ExitStatus execute(StepContribution contribution,
|
||||
public RepeatStatus execute(StepContribution contribution,
|
||||
AttributeAccessor attributes) throws Exception {
|
||||
executed = true;
|
||||
return ExitStatus.FINISHED;
|
||||
contribution.setExitStatus(ExitStatus.FINISHED);
|
||||
return RepeatStatus.FINISHED;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ public class CompositeStepExecutionListenerTests extends TestCase {
|
||||
}, new StepExecutionListenerSupport() {
|
||||
public ExitStatus afterStep(StepExecution stepExecution) {
|
||||
list.add("continue");
|
||||
return ExitStatus.CONTINUABLE;
|
||||
return ExitStatus.EXECUTING;
|
||||
}
|
||||
} });
|
||||
assertFalse(listener.afterStep(null).isContinuable());
|
||||
|
||||
@@ -54,11 +54,11 @@ public class StepExecutionAggregatorTests {
|
||||
|
||||
@Test
|
||||
public void testAggregateExitStatusSunnyDay() {
|
||||
stepExecution1.setExitStatus(ExitStatus.CONTINUABLE);
|
||||
stepExecution1.setExitStatus(ExitStatus.EXECUTING);
|
||||
stepExecution2.setExitStatus(ExitStatus.FAILED);
|
||||
aggregator.aggregate(result, Arrays.<StepExecution> asList(stepExecution1, stepExecution2));
|
||||
assertNotNull(result);
|
||||
assertEquals(ExitStatus.FAILED.and(ExitStatus.CONTINUABLE), result.getExitStatus());
|
||||
assertEquals(ExitStatus.FAILED.and(ExitStatus.EXECUTING), result.getExitStatus());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -40,20 +40,20 @@ public class StepContextRepeatCallbackTests {
|
||||
public void testDoInIteration() throws Exception {
|
||||
StepContextRepeatCallback callback = new StepContextRepeatCallback(stepExecution) {
|
||||
@Override
|
||||
public ExitStatus doInStepContext(RepeatContext context, StepContext stepContext) throws Exception {
|
||||
public RepeatStatus doInStepContext(RepeatContext context, StepContext stepContext) throws Exception {
|
||||
assertEquals(Long.valueOf(123), stepContext.getStepExecution().getId());
|
||||
return ExitStatus.NOOP;
|
||||
return RepeatStatus.FINISHED;
|
||||
}
|
||||
};
|
||||
assertEquals(RepeatStatus.FINISHED, callback.doInIteration(null));
|
||||
assertEquals(ExitStatus.NOOP, stepExecution.getExitStatus());
|
||||
assertEquals(ExitStatus.EXECUTING, stepExecution.getExitStatus());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUnfinishedWork() throws Exception {
|
||||
StepContextRepeatCallback callback = new StepContextRepeatCallback(stepExecution) {
|
||||
@Override
|
||||
public ExitStatus doInStepContext(RepeatContext context, StepContext stepContext) throws Exception {
|
||||
public RepeatStatus doInStepContext(RepeatContext context, StepContext stepContext) throws Exception {
|
||||
if (addedAttribute) {
|
||||
removedAttribute = stepContext.hasAttribute("foo");
|
||||
stepContext.removeAttribute("foo");
|
||||
@@ -61,7 +61,7 @@ public class StepContextRepeatCallbackTests {
|
||||
addedAttribute = true;
|
||||
stepContext.setAttribute("foo", "bar");
|
||||
}
|
||||
return ExitStatus.NOOP;
|
||||
return RepeatStatus.FINISHED;
|
||||
}
|
||||
};
|
||||
callback.doInIteration(null);
|
||||
|
||||
@@ -27,6 +27,7 @@ import org.springframework.batch.item.ExecutionContext;
|
||||
import org.springframework.batch.item.ItemStream;
|
||||
import org.springframework.batch.item.ItemStreamException;
|
||||
import org.springframework.batch.item.ItemStreamSupport;
|
||||
import org.springframework.batch.repeat.RepeatStatus;
|
||||
import org.springframework.batch.support.transaction.ResourcelessTransactionManager;
|
||||
import org.springframework.core.AttributeAccessor;
|
||||
import org.springframework.transaction.TransactionException;
|
||||
@@ -121,8 +122,8 @@ public class TaskletStepExceptionTests {
|
||||
} });
|
||||
taskletStep.setTasklet(new Tasklet() {
|
||||
|
||||
public ExitStatus execute(StepContribution contribution, AttributeAccessor attributes) throws Exception {
|
||||
return ExitStatus.FINISHED;
|
||||
public RepeatStatus execute(StepContribution contribution, AttributeAccessor attributes) throws Exception {
|
||||
return RepeatStatus.FINISHED;
|
||||
}
|
||||
|
||||
});
|
||||
@@ -183,8 +184,8 @@ public class TaskletStepExceptionTests {
|
||||
|
||||
taskletStep.setTasklet(new Tasklet() {
|
||||
|
||||
public ExitStatus execute(StepContribution contribution, AttributeAccessor attributes) throws Exception {
|
||||
return ExitStatus.FINISHED;
|
||||
public RepeatStatus execute(StepContribution contribution, AttributeAccessor attributes) throws Exception {
|
||||
return RepeatStatus.FINISHED;
|
||||
}
|
||||
|
||||
});
|
||||
@@ -219,8 +220,7 @@ public class TaskletStepExceptionTests {
|
||||
|
||||
private static class ExceptionTasklet implements Tasklet {
|
||||
|
||||
public ExitStatus execute(StepContribution contribution, AttributeAccessor attributes) throws Exception {
|
||||
|
||||
public RepeatStatus execute(StepContribution contribution, AttributeAccessor attributes) throws Exception {
|
||||
throw taskletException;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,7 @@ import static org.junit.Assert.fail;
|
||||
import java.util.concurrent.Callable;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.springframework.batch.core.ExitStatus;
|
||||
import org.springframework.batch.core.step.tasklet.CallableTaskletAdapter;
|
||||
import org.springframework.batch.repeat.RepeatStatus;
|
||||
|
||||
public class CallableTaskletAdapterTests {
|
||||
|
||||
@@ -30,12 +29,12 @@ public class CallableTaskletAdapterTests {
|
||||
|
||||
@Test
|
||||
public void testHandle() throws Exception {
|
||||
adapter.setCallable(new Callable<ExitStatus>() {
|
||||
public ExitStatus call() throws Exception {
|
||||
return ExitStatus.FINISHED;
|
||||
adapter.setCallable(new Callable<RepeatStatus>() {
|
||||
public RepeatStatus call() throws Exception {
|
||||
return RepeatStatus.FINISHED;
|
||||
}
|
||||
});
|
||||
assertEquals(ExitStatus.FINISHED, adapter.execute(null,null));
|
||||
assertEquals(RepeatStatus.FINISHED, adapter.execute(null,null));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -27,7 +27,7 @@ public class ConfigurableSystemProcessExitCodeMapperTests {
|
||||
{
|
||||
put(0, ExitStatus.FINISHED);
|
||||
put(1, ExitStatus.FAILED);
|
||||
put(2, ExitStatus.CONTINUABLE);
|
||||
put(2, ExitStatus.EXECUTING);
|
||||
put(3, ExitStatus.NOOP);
|
||||
put(4, ExitStatus.UNKNOWN);
|
||||
put(ConfigurableSystemProcessExitCodeMapper.ELSE_KEY, ExitStatus.UNKNOWN);
|
||||
|
||||
@@ -20,6 +20,11 @@ import static org.junit.Assert.assertEquals;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.springframework.batch.core.ExitStatus;
|
||||
import org.springframework.batch.core.JobExecution;
|
||||
import org.springframework.batch.core.JobInstance;
|
||||
import org.springframework.batch.core.JobParameters;
|
||||
import org.springframework.batch.core.StepContribution;
|
||||
import org.springframework.batch.core.StepExecution;
|
||||
import org.springframework.batch.core.step.tasklet.MethodInvokingTaskletAdapter;
|
||||
|
||||
/**
|
||||
@@ -31,6 +36,9 @@ public class StepHandlerAdapterTests {
|
||||
private MethodInvokingTaskletAdapter tasklet = new MethodInvokingTaskletAdapter();
|
||||
private Object result = null;
|
||||
|
||||
private StepExecution stepExecution = new StepExecution("systemCommandStep", new JobExecution(new JobInstance(1L,
|
||||
new JobParameters(), "systemCommandJob")));
|
||||
|
||||
public ExitStatus execute() {
|
||||
return ExitStatus.NOOP;
|
||||
}
|
||||
@@ -47,20 +55,26 @@ public class StepHandlerAdapterTests {
|
||||
@Test
|
||||
public void testExecuteWithExitStatus() throws Exception {
|
||||
tasklet.setTargetMethod("execute");
|
||||
assertEquals(ExitStatus.NOOP, tasklet.execute(null,null));
|
||||
StepContribution contribution = stepExecution.createStepContribution();
|
||||
tasklet.execute(contribution,null);
|
||||
assertEquals(ExitStatus.NOOP, contribution.getExitStatus());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMapResultWithNull() throws Exception {
|
||||
tasklet.setTargetMethod("process");
|
||||
assertEquals(ExitStatus.FINISHED, tasklet.execute(null,null));
|
||||
StepContribution contribution = stepExecution.createStepContribution();
|
||||
tasklet.execute(contribution,null);
|
||||
assertEquals(ExitStatus.FINISHED, contribution.getExitStatus());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMapResultWithNonNull() throws Exception {
|
||||
tasklet.setTargetMethod("process");
|
||||
this.result = "foo";
|
||||
assertEquals(ExitStatus.FINISHED, tasklet.execute(null,null));
|
||||
StepContribution contribution = stepExecution.createStepContribution();
|
||||
tasklet.execute(contribution,null);
|
||||
assertEquals(ExitStatus.FINISHED, contribution.getExitStatus());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -15,10 +15,9 @@ import org.springframework.batch.core.JobExecution;
|
||||
import org.springframework.batch.core.JobInstance;
|
||||
import org.springframework.batch.core.JobInterruptedException;
|
||||
import org.springframework.batch.core.JobParameters;
|
||||
import org.springframework.batch.core.StepContribution;
|
||||
import org.springframework.batch.core.StepExecution;
|
||||
import org.springframework.batch.core.step.tasklet.SystemCommandException;
|
||||
import org.springframework.batch.core.step.tasklet.SystemCommandTasklet;
|
||||
import org.springframework.batch.core.step.tasklet.SystemProcessExitCodeMapper;
|
||||
import org.springframework.batch.repeat.RepeatStatus;
|
||||
import org.springframework.core.task.SimpleAsyncTaskExecutor;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
@@ -59,9 +58,9 @@ public class SystemCommandTaskletIntegrationTests {
|
||||
tasklet.afterPropertiesSet();
|
||||
|
||||
log.info("Executing command: " + command);
|
||||
ExitStatus exitStatus = tasklet.execute(null, null);
|
||||
RepeatStatus exitStatus = tasklet.execute(stepExecution.createStepContribution(), null);
|
||||
|
||||
assertEquals(ExitStatus.FINISHED, exitStatus);
|
||||
assertEquals(RepeatStatus.FINISHED, exitStatus);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -75,8 +74,10 @@ public class SystemCommandTaskletIntegrationTests {
|
||||
|
||||
log.info("Executing command: " + command);
|
||||
try {
|
||||
ExitStatus exitStatus = tasklet.execute(null, null);
|
||||
assertEquals(ExitStatus.FAILED, exitStatus);
|
||||
StepContribution contribution = stepExecution.createStepContribution();
|
||||
RepeatStatus exitStatus = tasklet.execute(contribution, null);
|
||||
assertEquals(RepeatStatus.FINISHED, exitStatus);
|
||||
assertEquals(ExitStatus.FAILED, contribution.getExitStatus());
|
||||
}
|
||||
catch (RuntimeException e) {
|
||||
// on some platforms the system call does not return
|
||||
|
||||
@@ -55,6 +55,7 @@ import org.springframework.batch.item.ItemStreamException;
|
||||
import org.springframework.batch.item.ItemStreamSupport;
|
||||
import org.springframework.batch.item.ItemWriter;
|
||||
import org.springframework.batch.item.support.ListItemReader;
|
||||
import org.springframework.batch.repeat.RepeatStatus;
|
||||
import org.springframework.batch.repeat.policy.DefaultResultCompletionPolicy;
|
||||
import org.springframework.batch.repeat.policy.SimpleCompletionPolicy;
|
||||
import org.springframework.batch.repeat.support.RepeatTemplate;
|
||||
@@ -779,12 +780,10 @@ public class TaskletStepTests {
|
||||
StepExecution stepExecution = new StepExecution(step.getName(), new JobExecution(jobInstance));
|
||||
final ExecutionContext ec = stepExecution.getExecutionContext();
|
||||
step.setTasklet(new Tasklet(){
|
||||
|
||||
public ExitStatus execute(StepContribution contribution,
|
||||
public RepeatStatus execute(StepContribution contribution,
|
||||
AttributeAccessor attributes) throws Exception {
|
||||
|
||||
ec.putString("test", "test");
|
||||
return ExitStatus.FINISHED;
|
||||
return RepeatStatus.FINISHED;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user