Add batch-5-to-6 module: Spring Batch 5.2 to 6.0 migration on Boot 3.5 to 4.1
Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Gth99spB1CzQmBFofXmU4Z
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
$ mvn test # Boot 3.5.16, Batch 5.2.6, JDK 21
|
||||
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.750 s -- in com.ankurm.batch.JobTest
|
||||
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
|
||||
[INFO] BUILD SUCCESS
|
||||
|
||||
$ java -jar target/batch-legacy-1.0.0.jar
|
||||
WRITE [sq1, sq4, sq9]
|
||||
CHUNK DONE, read so far=3
|
||||
WRITE [sq16, sq25, sq36]
|
||||
CHUNK DONE, read so far=6
|
||||
WRITE [sq49]
|
||||
CHUNK DONE, read so far=7
|
||||
STATUS COMPLETED exit=COMPLETED
|
||||
INSTANCES 1
|
||||
DONE true
|
||||
@@ -0,0 +1,10 @@
|
||||
$ mvn compile # legacy sources, only the Boot version changed to 4.1.1 (Batch 6.0.5)
|
||||
compile error lines reported: 56
|
||||
|
||||
packages that no longer exist:
|
||||
package org.springframework.batch.core.explore does not exist
|
||||
package org.springframework.batch.item does not exist
|
||||
package org.springframework.batch.item.support does not exist
|
||||
|
||||
classes that moved:
|
||||
ChunkListener ItemReader ItemWriter Job JobExecution JobExplorer JobParameters JobParametersBuilder ListItemReader Step
|
||||
@@ -0,0 +1,19 @@
|
||||
$ mvn package # imports ported to the new packages, dependencies unchanged (spring-boot-starter-batch)
|
||||
[WARNING] s2/src/main/java/com/ankurm/batch/BatchConfig.java:[34,35] afterChunk(org.springframework.batch.core.scope.context.ChunkContext) in org.springframework.batch.core.listener.ChunkListener has been deprecated and marked for removal
|
||||
[WARNING] s2/src/main/java/com/ankurm/batch/BatchConfig.java:[43,17] <I,O>chunk(int,org.springframework.transaction.PlatformTransactionManager) in org.springframework.batch.core.step.builder.StepBuilder has been deprecated and marked for removal
|
||||
[WARNING] s2/src/main/java/com/ankurm/batch/JobRunner.java:[14,19] org.springframework.batch.core.launch.JobLauncher in org.springframework.batch.core.launch has been deprecated and marked for removal
|
||||
[WARNING] s2/src/main/java/com/ankurm/batch/JobRunner.java:[15,19] org.springframework.batch.core.repository.explore.JobExplorer in org.springframework.batch.core.repository.explore has been deprecated and marked for removal
|
||||
[WARNING] s2/src/main/java/com/ankurm/batch/JobRunner.java:[18,22] org.springframework.batch.core.launch.JobLauncher in org.springframework.batch.core.launch has been deprecated and marked for removal
|
||||
[WARNING] s2/src/main/java/com/ankurm/batch/JobRunner.java:[18,44] org.springframework.batch.core.repository.explore.JobExplorer in org.springframework.batch.core.repository.explore has been deprecated and marked for removal
|
||||
[WARNING] s2/src/test/java/com/ankurm/batch/JobTest.java:[16,16] org.springframework.batch.test.JobLauncherTestUtils in org.springframework.batch.test has been deprecated and marked for removal
|
||||
[WARNING] s2/src/test/java/com/ankurm/batch/JobTest.java:[20,34] launchJob() in org.springframework.batch.test.JobLauncherTestUtils has been deprecated and marked for removal
|
||||
[INFO] BUILD SUCCESS
|
||||
|
||||
$ java -jar target/batch-legacy-1.0.0.jar
|
||||
APPLICATION FAILED TO START
|
||||
***************************
|
||||
|
||||
Description:
|
||||
|
||||
Parameter 1 of method squareStep in com.ankurm.batch.BatchConfig required a bean of type 'org.springframework.transaction.PlatformTransactionManager' that could not be found.
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
$ mvn package # + spring-boot-starter-batch-jdbc and spring-boot-starter-jdbc
|
||||
[WARNING] s3/src/main/java/com/ankurm/batch/BatchConfig.java:[34,35] afterChunk(org.springframework.batch.core.scope.context.ChunkContext) in org.springframework.batch.core.listener.ChunkListener has been deprecated and marked for removal
|
||||
[WARNING] s3/src/main/java/com/ankurm/batch/BatchConfig.java:[43,17] <I,O>chunk(int,org.springframework.transaction.PlatformTransactionManager) in org.springframework.batch.core.step.builder.StepBuilder has been deprecated and marked for removal
|
||||
[WARNING] s3/src/main/java/com/ankurm/batch/JobRunner.java:[14,19] org.springframework.batch.core.launch.JobLauncher in org.springframework.batch.core.launch has been deprecated and marked for removal
|
||||
[WARNING] s3/src/main/java/com/ankurm/batch/JobRunner.java:[15,19] org.springframework.batch.core.repository.explore.JobExplorer in org.springframework.batch.core.repository.explore has been deprecated and marked for removal
|
||||
[WARNING] s3/src/main/java/com/ankurm/batch/JobRunner.java:[18,22] org.springframework.batch.core.launch.JobLauncher in org.springframework.batch.core.launch has been deprecated and marked for removal
|
||||
[WARNING] s3/src/main/java/com/ankurm/batch/JobRunner.java:[18,44] org.springframework.batch.core.repository.explore.JobExplorer in org.springframework.batch.core.repository.explore has been deprecated and marked for removal
|
||||
[WARNING] s3/src/test/java/com/ankurm/batch/JobTest.java:[16,16] org.springframework.batch.test.JobLauncherTestUtils in org.springframework.batch.test has been deprecated and marked for removal
|
||||
[WARNING] s3/src/test/java/com/ankurm/batch/JobTest.java:[20,34] launchJob() in org.springframework.batch.test.JobLauncherTestUtils has been deprecated and marked for removal
|
||||
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.571 s -- in com.ankurm.batch.JobTest
|
||||
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
|
||||
[INFO] BUILD SUCCESS
|
||||
|
||||
$ java -jar target/batch-legacy-1.0.0.jar
|
||||
WRITE [sq1, sq4, sq9]
|
||||
CHUNK DONE, read so far=3
|
||||
WRITE [sq16, sq25, sq36]
|
||||
CHUNK DONE, read so far=6
|
||||
WRITE [sq49]
|
||||
CHUNK DONE, read so far=7
|
||||
STATUS COMPLETED exit=COMPLETED
|
||||
INSTANCES 1
|
||||
DONE true
|
||||
@@ -0,0 +1,17 @@
|
||||
$ mvn package # chunk(3, tx) replaced by chunk(3).transactionManager(tx); listener untouched
|
||||
[WARNING] s4/src/main/java/com/ankurm/batch/BatchConfig.java:[34,35] afterChunk(org.springframework.batch.core.scope.context.ChunkContext) in org.springframework.batch.core.listener.ChunkListener has been deprecated and marked for removal
|
||||
[WARNING] s4/src/main/java/com/ankurm/batch/JobRunner.java:[14,19] org.springframework.batch.core.launch.JobLauncher in org.springframework.batch.core.launch has been deprecated and marked for removal
|
||||
[WARNING] s4/src/main/java/com/ankurm/batch/JobRunner.java:[15,19] org.springframework.batch.core.repository.explore.JobExplorer in org.springframework.batch.core.repository.explore has been deprecated and marked for removal
|
||||
[WARNING] s4/src/main/java/com/ankurm/batch/JobRunner.java:[18,22] org.springframework.batch.core.launch.JobLauncher in org.springframework.batch.core.launch has been deprecated and marked for removal
|
||||
[WARNING] s4/src/main/java/com/ankurm/batch/JobRunner.java:[18,44] org.springframework.batch.core.repository.explore.JobExplorer in org.springframework.batch.core.repository.explore has been deprecated and marked for removal
|
||||
[WARNING] s4/src/test/java/com/ankurm/batch/JobTest.java:[16,16] org.springframework.batch.test.JobLauncherTestUtils in org.springframework.batch.test has been deprecated and marked for removal
|
||||
[WARNING] s4/src/test/java/com/ankurm/batch/JobTest.java:[20,34] launchJob() in org.springframework.batch.test.JobLauncherTestUtils has been deprecated and marked for removal
|
||||
[INFO] BUILD SUCCESS
|
||||
|
||||
$ java -jar target/batch-legacy-1.0.0.jar
|
||||
WRITE [sq1, sq4, sq9]
|
||||
WRITE [sq16, sq25, sq36]
|
||||
WRITE [sq49]
|
||||
STATUS COMPLETED exit=COMPLETED
|
||||
INSTANCES 1
|
||||
DONE true
|
||||
@@ -0,0 +1,15 @@
|
||||
$ mvn package # final migrated project
|
||||
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.029 s -- in com.ankurm.batch.JobTest
|
||||
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
|
||||
[INFO] BUILD SUCCESS
|
||||
|
||||
$ java -jar target/batch-migrated-1.0.0.jar
|
||||
WRITE [sq1, sq4, sq9]
|
||||
CHUNK DONE, items in chunk=3
|
||||
WRITE [sq16, sq25, sq36]
|
||||
CHUNK DONE, items in chunk=3
|
||||
WRITE [sq49]
|
||||
CHUNK DONE, items in chunk=1
|
||||
STATUS COMPLETED exit=COMPLETED
|
||||
INSTANCES 1
|
||||
DONE true
|
||||
@@ -0,0 +1,13 @@
|
||||
$ javap (Batch 6.0.5 jars), selected lines
|
||||
public interface core.launch.JobOperator extends core.launch.JobLauncher {
|
||||
public interface core.repository.JobRepository extends core.repository.explore.JobExplorer {
|
||||
public class test.JobOperatorTestUtils extends test.JobLauncherTestUtils {
|
||||
public <I, O> core.step.builder.SimpleStepBuilder<I, O> chunk(int, PlatformTransactionManager);
|
||||
public <I, O> core.step.builder.ChunkOrientedStepBuilder<I, O> chunk(int);
|
||||
public <I, O> core.step.builder.SimpleStepBuilder<I, O> chunk(infrastructure.repeat.CompletionPolicy, PlatformTransactionManager);
|
||||
public default void beforeChunk(core.scope.context.ChunkContext);
|
||||
public default void afterChunk(core.scope.context.ChunkContext);
|
||||
public default void afterChunkError(core.scope.context.ChunkContext);
|
||||
public default void beforeChunk(infrastructure.item.Chunk<I>);
|
||||
public default void afterChunk(infrastructure.item.Chunk<O>);
|
||||
public default void onChunkError(java.lang.Exception, infrastructure.item.Chunk<O>);
|
||||
Reference in New Issue
Block a user