diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/step/builder/FaultTolerantStepBuilder.java b/spring-batch-core/src/main/java/org/springframework/batch/core/step/builder/FaultTolerantStepBuilder.java index be7fad7388..c2058fd531 100644 --- a/spring-batch-core/src/main/java/org/springframework/batch/core/step/builder/FaultTolerantStepBuilder.java +++ b/spring-batch-core/src/main/java/org/springframework/batch/core/step/builder/FaultTolerantStepBuilder.java @@ -432,6 +432,14 @@ public AbstractTaskletStepBuilder> stream(ItemStream str } return this; } + + /** + * Override parent method to prevent creation of a new FaultTolerantStepBuilder + */ + @Override + public FaultTolerantStepBuilder faultTolerant() { + return this; + } protected ChunkProvider createChunkProvider() { diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/step/builder/FaultTolerantStepBuilderTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/step/builder/FaultTolerantStepBuilderTests.java new file mode 100644 index 0000000000..80b6c45dde --- /dev/null +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/step/builder/FaultTolerantStepBuilderTests.java @@ -0,0 +1,15 @@ +package org.springframework.batch.core.step.builder; + +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.mock; + +public class FaultTolerantStepBuilderTests { + + @Test + public void faultTolerantReturnsSameInstance() { + FaultTolerantStepBuilder builder = new FaultTolerantStepBuilder<>(new StepBuilder("test")); + assertEquals(builder, builder.faultTolerant()); + } +} \ No newline at end of file