From 58e82a56e7175f6d795f0a641aa32ee1cddf74ee Mon Sep 17 00:00:00 2001 From: Parikshit Dutta Date: Mon, 26 Apr 2021 16:18:17 +0530 Subject: [PATCH] Update SimpleStepBuilder to assign ItemProcessor lambda at construction Issue #3749 --- .../core/step/builder/SimpleStepBuilder.java | 2 ++ .../core/step/builder/StepBuilderTests.java | 32 +++++++++++++------ 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/step/builder/SimpleStepBuilder.java b/spring-batch-core/src/main/java/org/springframework/batch/core/step/builder/SimpleStepBuilder.java index 79cea8e86..40aa86f21 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/step/builder/SimpleStepBuilder.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/step/builder/SimpleStepBuilder.java @@ -64,6 +64,7 @@ import org.springframework.util.Assert; * * @author Dave Syer * @author Mahmoud Ben Hassine + * @author Parikshit Dutta * * @since 2.2 */ @@ -111,6 +112,7 @@ public class SimpleStepBuilder extends AbstractTaskletStepBuilder reader = new ListItemReader<>(items); ListItemWriter itemWriter = new ListItemWriter<>(); - @SuppressWarnings("unchecked") + SimpleStepBuilder builder = new StepBuilder("step") - .repository(jobRepository) - .transactionManager(transactionManager) - .chunk(3) - .reader(reader) - .processor((Function) s -> s.toString()) - .writer(itemWriter) - .listener(new AnnotationBasedStepExecutionListener()); + .repository(jobRepository) + .transactionManager(transactionManager) + .chunk(3) + .reader(reader) + .processor((Function) s -> s.toString()) + .writer(itemWriter) + .listener(new AnnotationBasedStepExecutionListener()); + + if (faultTolerantStep) { + builder = builder.faultTolerant(); + } builder.build().execute(execution); assertEquals(BatchStatus.COMPLETED, execution.getStatus());