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:
robokaso
2008-09-17 11:08:00 +00:00
parent 945e1c510f
commit 4448098410
6 changed files with 18 additions and 18 deletions

View File

@@ -21,7 +21,7 @@ import org.springframework.batch.item.ItemWriter;
* @param <I> input item type
* @param <O> output item type
*/
public abstract class AbstractItemProcessingTasklet<I, O> implements Tasklet {
public abstract class AbstractItemOrientedTasklet<I, O> implements Tasklet {
protected final Log logger = LogFactory.getLog(getClass());
@@ -33,7 +33,7 @@ public abstract class AbstractItemProcessingTasklet<I, O> implements Tasklet {
protected final MulticasterBatchListener<I, O> listener = new MulticasterBatchListener<I, O>();
public AbstractItemProcessingTasklet(ItemReader<? extends I> itemReader,
public AbstractItemOrientedTasklet(ItemReader<? extends I> itemReader,
ItemProcessor<? super I, ? extends O> itemProcessor, ItemWriter<? super O> itemWriter) {
this.itemReader = itemReader;
this.itemProcessor = itemProcessor;

View File

@@ -51,7 +51,7 @@ import org.springframework.core.AttributeAccessor;
* @author Dave Syer
* @author Robert Kasanicky
*/
public class ChunkOrientedTasklet<T, S> extends AbstractItemProcessingTasklet<T,S> {
public class FaultTolerantChunkOrientedTasklet<T, S> extends AbstractItemOrientedTasklet<T,S> {
private static final String INPUT_BUFFER_KEY = "INPUT_BUFFER_KEY";
@@ -70,7 +70,7 @@ public class ChunkOrientedTasklet<T, S> extends AbstractItemProcessingTasklet<T,
final private Classifier<Throwable, Boolean> rollbackClassifier;
public ChunkOrientedTasklet(ItemReader<? extends T> itemReader,
public FaultTolerantChunkOrientedTasklet(ItemReader<? extends T> itemReader,
ItemProcessor<? super T, ? extends S> itemProcessor, ItemWriter<? super S> itemWriter,
RepeatOperations chunkOperations, RetryOperations retryTemplate,
Classifier<Throwable, Boolean> rollbackClassifier, ItemSkipPolicy readSkipPolicy,
@@ -197,7 +197,7 @@ public class ChunkOrientedTasklet<T, S> extends AbstractItemProcessingTasklet<T,
/**
* Incorporate retry into the item processor stage.
*
* @see org.springframework.batch.core.step.item.ChunkOrientedTasklet#process(org.springframework.batch.core.StepContribution,
* @see org.springframework.batch.core.step.item.FaultTolerantChunkOrientedTasklet#process(org.springframework.batch.core.StepContribution,
* org.springframework.batch.core.step.item.Chunk,
* org.springframework.batch.core.step.item.Chunk)
*/

View File

@@ -22,7 +22,7 @@ import org.springframework.core.AttributeAccessor;
* @author Dave Syer
* @author Robert Kasanicky
*/
public class SimpleChunkOrientedTasklet<I, O> extends AbstractItemProcessingTasklet<I, O> {
public class SimpleChunkOrientedTasklet<I, O> extends AbstractItemOrientedTasklet<I, O> {
private RepeatOperations repeatOperations;

View File

@@ -248,7 +248,7 @@ public class SkipLimitStepFactoryBean<T, S> extends SimpleStepFactoryBean<T, S>
exceptions.addAll(new ArrayList<Class<? extends Throwable>>(retryableExceptionClasses));
ItemSkipPolicy writeSkipPolicy = new LimitCheckingItemSkipPolicy(skipLimit, exceptions,
new ArrayList<Class<? extends Throwable>>(fatalExceptionClasses));
ChunkOrientedTasklet<T, S> tasklet = new ChunkOrientedTasklet<T, S>(getItemReader(), getItemProcessor(),
FaultTolerantChunkOrientedTasklet<T, S> tasklet = new FaultTolerantChunkOrientedTasklet<T, S>(getItemReader(), getItemProcessor(),
getItemWriter(), getChunkOperations(), retryTemplate, rollbackClassifier, readSkipPolicy,
writeSkipPolicy, writeSkipPolicy);
tasklet.setListeners(getListeners());

View File

@@ -47,7 +47,7 @@ import org.springframework.batch.support.Classifier;
* @author Dave Syer
*
*/
public class StatefulRetryTaskletTests {
public class FaultTolerantChunkOrientedTaskletTests {
private Log logger = LogFactory.getLog(getClass());
@@ -61,7 +61,7 @@ public class StatefulRetryTaskletTests {
private List<Integer> processed = new ArrayList<Integer>();
private ChunkOrientedTasklet<Integer, String> handler;
private FaultTolerantChunkOrientedTasklet<Integer, String> handler;
private RepeatTemplate chunkOperations = new RepeatTemplate();
@@ -109,7 +109,7 @@ public class StatefulRetryTaskletTests {
@Test
public void testBasicHandle() throws Exception {
handler = new ChunkOrientedTasklet<Integer, String>(itemReader, itemProcessor, itemWriter, chunkOperations,
handler = new FaultTolerantChunkOrientedTasklet<Integer, String>(itemReader, itemProcessor, itemWriter, chunkOperations,
retryTemplate, rollbackClassifier, readSkipPolicy, writeSkipPolicy, writeSkipPolicy);
StepContribution contribution = new StepExecution("foo", null).createStepContribution();
handler.execute(contribution, new BasicAttributeAccessor());
@@ -118,7 +118,7 @@ public class StatefulRetryTaskletTests {
@Test
public void testSkipOnRead() throws Exception {
handler = new ChunkOrientedTasklet<Integer, String>(new ItemReader<Integer>() {
handler = new FaultTolerantChunkOrientedTasklet<Integer, String>(new ItemReader<Integer>() {
public Integer read() throws Exception, UnexpectedInputException, NoWorkFoundException, ParseException {
throw new RuntimeException("Barf!");
}
@@ -140,7 +140,7 @@ public class StatefulRetryTaskletTests {
@Test
public void testSkipSingleItemOnWrite() throws Exception {
handler = new ChunkOrientedTasklet<Integer, String>(itemReader, itemProcessor, new ItemWriter<String>() {
handler = new FaultTolerantChunkOrientedTasklet<Integer, String>(itemReader, itemProcessor, new ItemWriter<String>() {
public void write(List<? extends String> items) throws Exception {
written.addAll(items);
throw new RuntimeException("Barf!");
@@ -165,7 +165,7 @@ public class StatefulRetryTaskletTests {
@Test
public void testSkipMultipleItemsOnWrite() throws Exception {
handler = new ChunkOrientedTasklet<Integer, String>(itemReader, itemProcessor, new ItemWriter<String>() {
handler = new FaultTolerantChunkOrientedTasklet<Integer, String>(itemReader, itemProcessor, new ItemWriter<String>() {
public void write(List<? extends String> items) throws Exception {
logger.debug("Writing items: " + items);
written.addAll(items);
@@ -217,7 +217,7 @@ public class StatefulRetryTaskletTests {
@Test
public void testSkipSingleItemOnProcess() throws Exception {
handler = new ChunkOrientedTasklet<Integer, String>(itemReader, new ItemProcessor<Integer, String>() {
handler = new FaultTolerantChunkOrientedTasklet<Integer, String>(itemReader, new ItemProcessor<Integer, String>() {
public String process(Integer item) throws Exception {
logger.debug("Processing item: " + item);
processed.add(item);
@@ -257,7 +257,7 @@ public class StatefulRetryTaskletTests {
@Test
public void testSkipOverLimitOnProcess() throws Exception {
handler = new ChunkOrientedTasklet<Integer, String>(itemReader, new ItemProcessor<Integer, String>() {
handler = new FaultTolerantChunkOrientedTasklet<Integer, String>(itemReader, new ItemProcessor<Integer, String>() {
public String process(Integer item) throws Exception {
logger.debug("Processing item: " + item);
processed.add(item);

View File

@@ -15,7 +15,7 @@
*/
package org.springframework.batch.core.step.tasklet;
import org.springframework.batch.core.step.item.ChunkOrientedTasklet;
import org.springframework.batch.core.step.item.FaultTolerantChunkOrientedTasklet;
import org.springframework.batch.core.step.tasklet.Tasklet;
import org.springframework.batch.item.ItemReader;
import org.springframework.batch.item.ItemWriter;
@@ -45,7 +45,7 @@ public class SimpleChunkOrientedTasklet<T> extends org.springframework.batch.cor
/**
* Creates a {@link PassthroughItemProcessor} and uses it to create an
* instance of {@link ChunkOrientedTasklet}.
* instance of {@link FaultTolerantChunkOrientedTasklet}.
*/
public SimpleChunkOrientedTasklet(ItemReader<T> itemReader, ItemWriter<T> itemWriter) {
super(itemReader, new PassthroughItemProcessor<T>(), itemWriter, repeatTemplate);
@@ -53,7 +53,7 @@ public class SimpleChunkOrientedTasklet<T> extends org.springframework.batch.cor
/**
* Creates a {@link PassthroughItemProcessor} and uses it to create an
* instance of {@link ChunkOrientedTasklet}.
* instance of {@link FaultTolerantChunkOrientedTasklet}.
*/
public SimpleChunkOrientedTasklet(ItemReader<T> itemReader, ItemWriter<T> itemWriter, RepeatOperations repeatOperations) {
super(itemReader, new PassthroughItemProcessor<T>(), itemWriter, repeatOperations);