OPEN - BATCH-803: Add non-buffering ChunkOrientedTasklet (or option in existing one) plus flag for factory bean

merged StatefulRetryTasklet with ChunkOrientedTasklet
This commit is contained in:
robokaso
2008-09-17 11:02:27 +00:00
parent 95aee9998b
commit 945e1c510f
5 changed files with 222 additions and 289 deletions

View File

@@ -61,7 +61,7 @@ public class ChunkOrientedTaskletTests {
@Test
public void testHandle() throws Exception {
ChunkOrientedTasklet<String, String> handler = new ChunkOrientedTasklet<String, String>(itemReader,
SimpleChunkOrientedTasklet<String, String> handler = new SimpleChunkOrientedTasklet<String, String>(itemReader,
new PassthroughItemProcessor<String>(), itemWriter, repeatTemplate);
StepContribution contribution = new StepContribution(new StepExecution("foo", new JobExecution(new JobInstance(
123L, new JobParameters(), "job"))));
@@ -75,7 +75,7 @@ public class ChunkOrientedTaskletTests {
@Test
public void testHandleWithItemProcessorFailure() throws Exception {
ChunkOrientedTasklet<String, String> handler = new ChunkOrientedTasklet<String, String>(itemReader,
SimpleChunkOrientedTasklet<String, String> handler = new SimpleChunkOrientedTasklet<String, String>(itemReader,
new StubItemProcessor(), itemWriter, repeatTemplate);
StepContribution contribution = new StepContribution(new StepExecution("foo", new JobExecution(new JobInstance(
123L, new JobParameters(), "job"))));
@@ -95,7 +95,7 @@ public class ChunkOrientedTaskletTests {
@Test
public void testHandleCompositeItem() throws Exception {
ChunkOrientedTasklet<String, String> handler = new ChunkOrientedTasklet<String, String>(itemReader,
SimpleChunkOrientedTasklet<String, String> handler = new SimpleChunkOrientedTasklet<String, String>(itemReader,
new AggregateItemProcessor(), itemWriter, repeatTemplate);
StepContribution contribution = new StepContribution(new StepExecution("foo", new JobExecution(new JobInstance(
123L, new JobParameters(), "job"))));

View File

@@ -28,7 +28,6 @@ import org.junit.Before;
import org.junit.Test;
import org.springframework.batch.core.StepContribution;
import org.springframework.batch.core.StepExecution;
import org.springframework.batch.core.step.item.SkipLimitStepFactoryBean.StatefulRetryTasklet;
import org.springframework.batch.core.step.skip.ItemSkipPolicy;
import org.springframework.batch.core.step.skip.SkipLimitExceededException;
import org.springframework.batch.core.step.tasklet.BasicAttributeAccessor;
@@ -62,7 +61,7 @@ public class StatefulRetryTaskletTests {
private List<Integer> processed = new ArrayList<Integer>();
private StatefulRetryTasklet<Integer, String> handler;
private ChunkOrientedTasklet<Integer, String> handler;
private RepeatTemplate chunkOperations = new RepeatTemplate();
@@ -110,7 +109,7 @@ public class StatefulRetryTaskletTests {
@Test
public void testBasicHandle() throws Exception {
handler = new StatefulRetryTasklet<Integer, String>(itemReader, itemProcessor, itemWriter, chunkOperations,
handler = new ChunkOrientedTasklet<Integer, String>(itemReader, itemProcessor, itemWriter, chunkOperations,
retryTemplate, rollbackClassifier, readSkipPolicy, writeSkipPolicy, writeSkipPolicy);
StepContribution contribution = new StepExecution("foo", null).createStepContribution();
handler.execute(contribution, new BasicAttributeAccessor());
@@ -119,7 +118,7 @@ public class StatefulRetryTaskletTests {
@Test
public void testSkipOnRead() throws Exception {
handler = new StatefulRetryTasklet<Integer, String>(new ItemReader<Integer>() {
handler = new ChunkOrientedTasklet<Integer, String>(new ItemReader<Integer>() {
public Integer read() throws Exception, UnexpectedInputException, NoWorkFoundException, ParseException {
throw new RuntimeException("Barf!");
}
@@ -141,7 +140,7 @@ public class StatefulRetryTaskletTests {
@Test
public void testSkipSingleItemOnWrite() throws Exception {
handler = new StatefulRetryTasklet<Integer, String>(itemReader, itemProcessor, new ItemWriter<String>() {
handler = new ChunkOrientedTasklet<Integer, String>(itemReader, itemProcessor, new ItemWriter<String>() {
public void write(List<? extends String> items) throws Exception {
written.addAll(items);
throw new RuntimeException("Barf!");
@@ -166,7 +165,7 @@ public class StatefulRetryTaskletTests {
@Test
public void testSkipMultipleItemsOnWrite() throws Exception {
handler = new StatefulRetryTasklet<Integer, String>(itemReader, itemProcessor, new ItemWriter<String>() {
handler = new ChunkOrientedTasklet<Integer, String>(itemReader, itemProcessor, new ItemWriter<String>() {
public void write(List<? extends String> items) throws Exception {
logger.debug("Writing items: " + items);
written.addAll(items);
@@ -218,7 +217,7 @@ public class StatefulRetryTaskletTests {
@Test
public void testSkipSingleItemOnProcess() throws Exception {
handler = new StatefulRetryTasklet<Integer, String>(itemReader, new ItemProcessor<Integer, String>() {
handler = new ChunkOrientedTasklet<Integer, String>(itemReader, new ItemProcessor<Integer, String>() {
public String process(Integer item) throws Exception {
logger.debug("Processing item: " + item);
processed.add(item);
@@ -258,7 +257,7 @@ public class StatefulRetryTaskletTests {
@Test
public void testSkipOverLimitOnProcess() throws Exception {
handler = new StatefulRetryTasklet<Integer, String>(itemReader, new ItemProcessor<Integer, String>() {
handler = new ChunkOrientedTasklet<Integer, String>(itemReader, new ItemProcessor<Integer, String>() {
public String process(Integer item) throws Exception {
logger.debug("Processing item: " + item);
processed.add(item);

View File

@@ -31,7 +31,7 @@ import org.springframework.batch.repeat.support.RepeatTemplate;
*
* @author Dave Syer
*/
public class SimpleChunkOrientedTasklet<T> extends ChunkOrientedTasklet<T, T> {
public class SimpleChunkOrientedTasklet<T> extends org.springframework.batch.core.step.item.SimpleChunkOrientedTasklet<T, T> {
/**
*