Migrate to Spring Batch 6.0 from 5.2
Recipe ID
org.openrewrite.java.spring.batch.SpringBatch5To6MigrationArtifactorg.openrewrite.recipe:rewrite-springMigrate applications built on Spring Batch 5.2 to the latest Spring Batch 6.0 release.
Composite recipespringbatchMSAL
Add to your build
Get a download tokenThis recipe is Moderne licensed, so the token must belong to a Moderne customer. It replaces YOUR_DOWNLOAD_TOKEN below.
~/.gradle/gradle.properties
codeGenomeUsername=you@example.com
codeGenomeToken=YOUR_DOWNLOAD_TOKEN
build.gradle.kts
plugins {
id("org.openrewrite.rewrite") version("latest.release")
}
rewrite {
activeRecipe("org.openrewrite.java.spring.batch.SpringBatch5To6Migration")
}
repositories {
mavenCentral()
maven {
url = uri("https://artifacts.codegenomeproject.org/maven")
credentials {
username = providers.gradleProperty("codeGenomeUsername").get()
password = providers.gradleProperty("codeGenomeToken").get()
}
}
}
dependencies {
rewrite("org.openrewrite.recipe:rewrite-spring:6.40.0")
}
Then run
./gradlew rewriteRunUsage
This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe org.openrewrite.java.spring.batch.SpringBatch5To6MigrationIf the recipe isn’t available locally, install it with:
mod config recipes jar install org.openrewrite.recipe:rewrite-spring:RELEASEDefinition
This recipe runs the following recipes in order.
- Migrate to Spring Batch 5.0 from 4.3
org.openrewrite.java.spring.batch.SpringBatch4To5Migration - Upgrade Gradle or Maven dependency versions
org.openrewrite.java.dependencies.UpgradeDependencyVersion - Rename package name
org.springframework.batch.itemtoorg.springframework.batch.infrastructure.itemorg.openrewrite.java.ChangePackage - Rename package name
org.springframework.batch.pollertoorg.springframework.batch.infrastructure.pollerorg.openrewrite.java.ChangePackage - Rename package name
org.springframework.batch.repeattoorg.springframework.batch.infrastructure.repeatorg.openrewrite.java.ChangePackage - Rename package name
org.springframework.batch.supporttoorg.springframework.batch.infrastructure.supportorg.openrewrite.java.ChangePackage - Rename package name
org.springframework.batch.core.exploretoorg.springframework.batch.core.repository.exploreorg.openrewrite.java.ChangePackage - Change type
org.springframework.batch.core.repository.dao.JdbcExecutionContextDaotoorg.springframework.batch.core.repository.dao.jdbc.JdbcExecutionContextDaoorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.repository.dao.JdbcJobExecutionDaotoorg.springframework.batch.core.repository.dao.jdbc.JdbcJobExecutionDaoorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.repository.dao.JdbcJobInstanceDaotoorg.springframework.batch.core.repository.dao.jdbc.JdbcJobInstanceDaoorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.repository.dao.JdbcStepExecutionDaotoorg.springframework.batch.core.repository.dao.jdbc.JdbcStepExecutionDaoorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.repository.dao.MongoExecutionContextDaotoorg.springframework.batch.core.repository.dao.mongo.MongoExecutionContextDaoorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.repository.dao.MongoJobExecutionDaotoorg.springframework.batch.core.repository.dao.mongo.MongoJobExecutionDaoorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.repository.dao.MongoJobInstanceDaotoorg.springframework.batch.core.repository.dao.mongo.MongoJobInstanceDaoorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.repository.dao.MongoStepExecutionDaotoorg.springframework.batch.core.repository.dao.mongo.MongoStepExecutionDaoorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.repository.dao.MongoSequenceIncrementertoorg.springframework.batch.core.repository.dao.mongo.MongoSequenceIncrementerorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.partition.support.Partitionertoorg.springframework.batch.core.partition.Partitionerorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.partition.support.PartitionNameProvidertoorg.springframework.batch.core.partition.PartitionNameProviderorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.partition.support.PartitionSteptoorg.springframework.batch.core.partition.PartitionSteporg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.partition.support.StepExecutionAggregatortoorg.springframework.batch.core.partition.StepExecutionAggregatororg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.ChunkListenertoorg.springframework.batch.core.listener.ChunkListenerorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.ItemProcessListenertoorg.springframework.batch.core.listener.ItemProcessListenerorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.ItemReadListenertoorg.springframework.batch.core.listener.ItemReadListenerorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.ItemWriteListenertoorg.springframework.batch.core.listener.ItemWriteListenerorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.JobExecutionListenertoorg.springframework.batch.core.listener.JobExecutionListenerorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.SkipListenertoorg.springframework.batch.core.listener.SkipListenerorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.StepExecutionListenertoorg.springframework.batch.core.listener.StepExecutionListenerorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.StepListenertoorg.springframework.batch.core.listener.StepListenerorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.Jobtoorg.springframework.batch.core.job.Joborg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.JobExecutiontoorg.springframework.batch.core.job.JobExecutionorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.JobExecutionExceptiontoorg.springframework.batch.core.job.JobExecutionExceptionorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.JobInstancetoorg.springframework.batch.core.job.JobInstanceorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.JobInterruptedExceptiontoorg.springframework.batch.core.job.JobInterruptedExceptionorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.JobKeyGeneratortoorg.springframework.batch.core.job.JobKeyGeneratororg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.DefaultJobKeyGeneratortoorg.springframework.batch.core.job.DefaultJobKeyGeneratororg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.StartLimitExceededExceptiontoorg.springframework.batch.core.job.StartLimitExceededExceptionorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.UnexpectedJobExecutionExceptiontoorg.springframework.batch.core.job.UnexpectedJobExecutionExceptionorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.CompositeJobParametersValidatortoorg.springframework.batch.core.job.parameters.CompositeJobParametersValidatororg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.DefaultJobParametersValidatortoorg.springframework.batch.core.job.parameters.DefaultJobParametersValidatororg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.JobParametertoorg.springframework.batch.core.job.parameters.JobParameterorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.JobParameterstoorg.springframework.batch.core.job.parameters.JobParametersorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.JobParametersBuildertoorg.springframework.batch.core.job.parameters.JobParametersBuilderorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.JobParametersIncrementertoorg.springframework.batch.core.job.parameters.JobParametersIncrementerorg.openrewrite.java.ChangeType - Change type
JobParametersInvalidExceptiontoInvalidJobParametersExceptionorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.JobParametersValidatortoorg.springframework.batch.core.job.parameters.JobParametersValidatororg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.launch.support.RunIdIncrementertoorg.springframework.batch.core.job.parameters.RunIdIncrementerorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.job.launch.support.DataFieldMaxValueJobParametersIncrementertoorg.springframework.batch.core.job.parameters.DataFieldMaxValueJobParametersIncrementerorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.Steptoorg.springframework.batch.core.step.Steporg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.StepContributiontoorg.springframework.batch.core.step.StepContributionorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.StepExecutiontoorg.springframework.batch.core.step.StepExecutionorg.openrewrite.java.ChangeType - Change type
ChunkHandlertoChunkRequestHandlerorg.openrewrite.java.ChangeType - Change type
JobRepositoryFactoryBeantoJdbcJobRepositoryFactoryBeanorg.openrewrite.java.ChangeType - Change type
JobExplorerFactoryBeantoJdbcJobExplorerFactoryBeanorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.repository.JobExecutionAlreadyRunningExceptiontoorg.springframework.batch.core.launch.JobExecutionAlreadyRunningExceptionorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.repository.JobInstanceAlreadyCompleteExceptiontoorg.springframework.batch.core.launch.JobInstanceAlreadyCompleteExceptionorg.openrewrite.java.ChangeType - Change type
org.springframework.batch.core.repository.JobRestartExceptiontoorg.springframework.batch.core.launch.JobRestartExceptionorg.openrewrite.java.ChangeType - Change method name
org.springframework.batch.core.step.job.JobStep setJobLauncher(org.springframework.batch.core.launch.JobLauncher)tosetJobOperatororg.openrewrite.java.ChangeMethodName - Change method name
org.springframework.batch.core.step.job.JobStepBuilder launcher(org.springframework.batch.core.launch.JobLauncher)tooperatororg.openrewrite.java.ChangeMethodName - Change type
JobLaunchertoJobOperatororg.openrewrite.java.ChangeType - Change method name
org.springframework.batch.core.step.tasklet.SystemCommandTasklet setJobExplorer(org.springframework.batch.core.repository.explore.JobExplorer)tosetJobRepositoryorg.openrewrite.java.ChangeMethodName - Change method name
org.springframework.batch.core.partition.support.RemoteStepExecutionAggregator setJobExplorer(org.springframework.batch.core.repository.explore.JobExplorer)tosetJobRepositoryorg.openrewrite.java.ChangeMethodName - Change type
JobExplorertoJobRepositoryorg.openrewrite.java.ChangeType - Migrate to the new chunk-oriented step model
org.openrewrite.java.spring.batch.MigrateToChunkOrientedStepBuilder
Data tables
Structured output this recipe can produce.
- Source files that had resultsSource files that were modified by the recipe run.
org.openrewrite.table.SourcesFileResults - Source files that had search resultsSearch results that were found during the recipe run.
org.openrewrite.table.SearchResults - Source files that errored on a recipeThe details of all errors produced by a recipe run.
org.openrewrite.table.SourcesFileErrors - Recipe performanceStatistics used in analyzing the performance of recipes.
org.openrewrite.table.RecipeRunStats