OPEN - BATCH-803: Add non-buffering ChunkOrientedTasklet (or option in existing one) plus flag for factory bean
tasklet classes renaming
This commit is contained in:
@@ -44,7 +44,7 @@ import org.springframework.core.AttributeAccessor;
|
||||
* @author Dave Syer
|
||||
*
|
||||
*/
|
||||
public class ChunkOrientedTaskletTests {
|
||||
public class SimpleChunkOrientedTaskletTests {
|
||||
|
||||
private StubItemReader itemReader = new StubItemReader();
|
||||
|
||||
@@ -110,7 +110,7 @@ public class ChunkOrientedStepIntegrationTests {
|
||||
@Test
|
||||
public void testStatusForCommitFailedException() throws Exception {
|
||||
|
||||
step.setTasklet(new SimpleChunkOrientedTasklet<String>(getReader(new String[] { "a", "b", "c" }),
|
||||
step.setTasklet(new TestingChunkOrientedTasklet<String>(getReader(new String[] { "a", "b", "c" }),
|
||||
new ItemWriter<String>() {
|
||||
public void write(List<? extends String> data) throws Exception {
|
||||
TransactionSynchronizationManager
|
||||
|
||||
@@ -79,7 +79,7 @@ public class StepExecutorInterruptionTests extends TestCase {
|
||||
RepeatTemplate template = new RepeatTemplate();
|
||||
// N.B, If we don't set the completion policy it might run forever
|
||||
template.setCompletionPolicy(new SimpleCompletionPolicy(2));
|
||||
step.setTasklet(new SimpleChunkOrientedTasklet<Object>(new ItemReader<Object>() {
|
||||
step.setTasklet(new TestingChunkOrientedTasklet<Object>(new ItemReader<Object>() {
|
||||
public Object read() throws Exception {
|
||||
// do something non-trivial (and not Thread.sleep())
|
||||
double foo = 1;
|
||||
@@ -116,7 +116,7 @@ public class StepExecutorInterruptionTests extends TestCase {
|
||||
|
||||
Thread processingThread = createThread(stepExecution);
|
||||
|
||||
step.setTasklet(new SimpleChunkOrientedTasklet<Object>(new ItemReader<Object>() {
|
||||
step.setTasklet(new TestingChunkOrientedTasklet<Object>(new ItemReader<Object>() {
|
||||
public Object read() throws Exception {
|
||||
return null;
|
||||
}
|
||||
@@ -153,7 +153,7 @@ public class StepExecutorInterruptionTests extends TestCase {
|
||||
|
||||
public void testLockNotReleasedIfChunkFails() throws Exception {
|
||||
|
||||
step.setTasklet(new SimpleChunkOrientedTasklet<Object>(new ItemReader<Object>() {
|
||||
step.setTasklet(new TestingChunkOrientedTasklet<Object>(new ItemReader<Object>() {
|
||||
public Object read() throws Exception {
|
||||
throw new RuntimeException("Planned!");
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@ public class TaskletStepTests {
|
||||
// Only process one item:
|
||||
RepeatTemplate template = new RepeatTemplate();
|
||||
template.setCompletionPolicy(new SimpleCompletionPolicy(1));
|
||||
step.setTasklet(new SimpleChunkOrientedTasklet<String>(getReader(strings), itemWriter, template));
|
||||
step.setTasklet(new TestingChunkOrientedTasklet<String>(getReader(strings), itemWriter, template));
|
||||
step.setJobRepository(new JobRepositorySupport());
|
||||
step.setTransactionManager(transactionManager);
|
||||
return step;
|
||||
@@ -200,7 +200,7 @@ public class TaskletStepTests {
|
||||
|
||||
};
|
||||
|
||||
step.setTasklet(new SimpleChunkOrientedTasklet<String>(itemReader, itemWriter));
|
||||
step.setTasklet(new TestingChunkOrientedTasklet<String>(itemReader, itemWriter));
|
||||
JobExecution jobExecutionContext = new JobExecution(jobInstance);
|
||||
StepExecution stepExecution = new StepExecution(step.getName(), jobExecutionContext);
|
||||
|
||||
@@ -225,7 +225,7 @@ public class TaskletStepTests {
|
||||
|
||||
};
|
||||
|
||||
step.setTasklet(new SimpleChunkOrientedTasklet<String>(itemReader, itemWriter));
|
||||
step.setTasklet(new TestingChunkOrientedTasklet<String>(itemReader, itemWriter));
|
||||
JobExecution jobExecutionContext = new JobExecution(jobInstance);
|
||||
StepExecution stepExecution = new StepExecution(step.getName(), jobExecutionContext);
|
||||
|
||||
@@ -250,7 +250,7 @@ public class TaskletStepTests {
|
||||
|
||||
};
|
||||
|
||||
step.setTasklet(new SimpleChunkOrientedTasklet<String>(itemReader, itemWriter));
|
||||
step.setTasklet(new TestingChunkOrientedTasklet<String>(itemReader, itemWriter));
|
||||
step.registerStepExecutionListener(new StepExecutionListenerSupport() {
|
||||
public ExitStatus onErrorInStep(StepExecution stepExecution, Throwable e) {
|
||||
return ExitStatus.FAILED.addExitDescription("FOO");
|
||||
@@ -277,7 +277,7 @@ public class TaskletStepTests {
|
||||
@Test
|
||||
public void testNonRestartedJob() throws Exception {
|
||||
MockRestartableItemReader tasklet = new MockRestartableItemReader();
|
||||
step.setTasklet(new SimpleChunkOrientedTasklet<String>(tasklet, itemWriter));
|
||||
step.setTasklet(new TestingChunkOrientedTasklet<String>(tasklet, itemWriter));
|
||||
step.registerStream(tasklet);
|
||||
JobExecution jobExecutionContext = new JobExecution(jobInstance);
|
||||
StepExecution stepExecution = new StepExecution(step.getName(), jobExecutionContext);
|
||||
@@ -335,7 +335,7 @@ public class TaskletStepTests {
|
||||
@Test
|
||||
public void testNoSaveExecutionAttributesRestartableJob() {
|
||||
MockRestartableItemReader tasklet = new MockRestartableItemReader();
|
||||
step.setTasklet(new SimpleChunkOrientedTasklet<String>(tasklet, itemWriter));
|
||||
step.setTasklet(new TestingChunkOrientedTasklet<String>(tasklet, itemWriter));
|
||||
JobExecution jobExecutionContext = new JobExecution(jobInstance);
|
||||
StepExecution stepExecution = new StepExecution(step.getName(), jobExecutionContext);
|
||||
|
||||
@@ -356,7 +356,7 @@ public class TaskletStepTests {
|
||||
*/
|
||||
@Test
|
||||
public void testRestartJobOnNonRestartableTasklet() throws Exception {
|
||||
step.setTasklet(new SimpleChunkOrientedTasklet<String>(new ItemReader<String>() {
|
||||
step.setTasklet(new TestingChunkOrientedTasklet<String>(new ItemReader<String>() {
|
||||
public String read() throws Exception {
|
||||
return "foo";
|
||||
}
|
||||
@@ -378,7 +378,7 @@ public class TaskletStepTests {
|
||||
executionContext.putString("foo", "bar");
|
||||
}
|
||||
};
|
||||
step.setTasklet(new SimpleChunkOrientedTasklet<String>(reader, itemWriter));
|
||||
step.setTasklet(new TestingChunkOrientedTasklet<String>(reader, itemWriter));
|
||||
step.registerStream(reader);
|
||||
JobExecution jobExecution = new JobExecution(jobInstance);
|
||||
StepExecution stepExecution = new StepExecution(step.getName(), jobExecution);
|
||||
@@ -478,7 +478,7 @@ public class TaskletStepTests {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
step.setTasklet(new SimpleChunkOrientedTasklet<String>(new MockRestartableItemReader() {
|
||||
step.setTasklet(new TestingChunkOrientedTasklet<String>(new MockRestartableItemReader() {
|
||||
public String read() throws Exception {
|
||||
throw new RuntimeException("FOO");
|
||||
}
|
||||
@@ -501,7 +501,7 @@ public class TaskletStepTests {
|
||||
executionContext.putString("foo", "bar");
|
||||
}
|
||||
};
|
||||
step.setTasklet(new SimpleChunkOrientedTasklet<String>(reader, itemWriter));
|
||||
step.setTasklet(new TestingChunkOrientedTasklet<String>(reader, itemWriter));
|
||||
step.setStreams(new ItemStream[] { reader });
|
||||
JobExecution jobExecution = new JobExecution(jobInstance);
|
||||
StepExecution stepExecution = new StepExecution(step.getName(), jobExecution);
|
||||
@@ -536,7 +536,7 @@ public class TaskletStepTests {
|
||||
|
||||
};
|
||||
|
||||
step.setTasklet(new SimpleChunkOrientedTasklet<String>(itemReader, itemWriter));
|
||||
step.setTasklet(new TestingChunkOrientedTasklet<String>(itemReader, itemWriter));
|
||||
|
||||
JobExecution jobExecutionContext = new JobExecution(jobInstance);
|
||||
StepExecution stepExecution = new StepExecution(step.getName(), jobExecutionContext);
|
||||
@@ -559,7 +559,7 @@ public class TaskletStepTests {
|
||||
throw new RuntimeException("Foo");
|
||||
}
|
||||
};
|
||||
step.setTasklet(new SimpleChunkOrientedTasklet<String>(itemReader, itemWriter));
|
||||
step.setTasklet(new TestingChunkOrientedTasklet<String>(itemReader, itemWriter));
|
||||
|
||||
JobExecution jobExecutionContext = new JobExecution(jobInstance);
|
||||
StepExecution stepExecution = new StepExecution(step.getName(), jobExecutionContext);
|
||||
@@ -582,7 +582,7 @@ public class TaskletStepTests {
|
||||
throw new Error("Foo");
|
||||
}
|
||||
};
|
||||
step.setTasklet(new SimpleChunkOrientedTasklet<String>(itemReader, itemWriter));
|
||||
step.setTasklet(new TestingChunkOrientedTasklet<String>(itemReader, itemWriter));
|
||||
|
||||
JobExecution jobExecutionContext = new JobExecution(jobInstance);
|
||||
StepExecution stepExecution = new StepExecution(step.getName(), jobExecutionContext);
|
||||
@@ -605,7 +605,7 @@ public class TaskletStepTests {
|
||||
throw new RuntimeException("Foo");
|
||||
}
|
||||
};
|
||||
step.setTasklet(new SimpleChunkOrientedTasklet<String>(itemReader, itemWriter));
|
||||
step.setTasklet(new TestingChunkOrientedTasklet<String>(itemReader, itemWriter));
|
||||
step.setTransactionManager(new ResourcelessTransactionManager() {
|
||||
protected void doRollback(DefaultTransactionStatus status) throws TransactionException {
|
||||
// Simulate failure on rollback when stream resets
|
||||
@@ -688,7 +688,7 @@ public class TaskletStepTests {
|
||||
throw new RuntimeException("Bar");
|
||||
}
|
||||
};
|
||||
step.setTasklet(new SimpleChunkOrientedTasklet<String>(itemReader, itemWriter));
|
||||
step.setTasklet(new TestingChunkOrientedTasklet<String>(itemReader, itemWriter));
|
||||
step.registerStream(itemReader);
|
||||
|
||||
JobExecution jobExecutionContext = new JobExecution(jobInstance);
|
||||
@@ -721,7 +721,7 @@ public class TaskletStepTests {
|
||||
throw new RuntimeException("CRASH!");
|
||||
}
|
||||
};
|
||||
step.setTasklet(new SimpleChunkOrientedTasklet<String>(reader, itemWriter));
|
||||
step.setTasklet(new TestingChunkOrientedTasklet<String>(reader, itemWriter));
|
||||
step.registerStream(reader);
|
||||
|
||||
StepExecution stepExecution = new StepExecution(step.getName(), new JobExecution(jobInstance));
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
package org.springframework.batch.core.step.tasklet;
|
||||
|
||||
import org.springframework.batch.core.step.item.FaultTolerantChunkOrientedTasklet;
|
||||
import org.springframework.batch.core.step.tasklet.Tasklet;
|
||||
import org.springframework.batch.core.step.item.SimpleChunkOrientedTasklet;
|
||||
import org.springframework.batch.item.ItemReader;
|
||||
import org.springframework.batch.item.ItemWriter;
|
||||
import org.springframework.batch.item.support.PassthroughItemProcessor;
|
||||
@@ -31,7 +31,7 @@ import org.springframework.batch.repeat.support.RepeatTemplate;
|
||||
*
|
||||
* @author Dave Syer
|
||||
*/
|
||||
public class SimpleChunkOrientedTasklet<T> extends org.springframework.batch.core.step.item.SimpleChunkOrientedTasklet<T, T> {
|
||||
public class TestingChunkOrientedTasklet<T> extends SimpleChunkOrientedTasklet<T, T> {
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -47,7 +47,7 @@ public class SimpleChunkOrientedTasklet<T> extends org.springframework.batch.cor
|
||||
* Creates a {@link PassthroughItemProcessor} and uses it to create an
|
||||
* instance of {@link FaultTolerantChunkOrientedTasklet}.
|
||||
*/
|
||||
public SimpleChunkOrientedTasklet(ItemReader<T> itemReader, ItemWriter<T> itemWriter) {
|
||||
public TestingChunkOrientedTasklet(ItemReader<T> itemReader, ItemWriter<T> itemWriter) {
|
||||
super(itemReader, new PassthroughItemProcessor<T>(), itemWriter, repeatTemplate);
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ public class SimpleChunkOrientedTasklet<T> extends org.springframework.batch.cor
|
||||
* Creates a {@link PassthroughItemProcessor} and uses it to create an
|
||||
* instance of {@link FaultTolerantChunkOrientedTasklet}.
|
||||
*/
|
||||
public SimpleChunkOrientedTasklet(ItemReader<T> itemReader, ItemWriter<T> itemWriter, RepeatOperations repeatOperations) {
|
||||
public TestingChunkOrientedTasklet(ItemReader<T> itemReader, ItemWriter<T> itemWriter, RepeatOperations repeatOperations) {
|
||||
super(itemReader, new PassthroughItemProcessor<T>(), itemWriter, repeatOperations);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user