Spring Batch 6.0 migration assistance. Use when upgrading Spring Batch from v5 to v6, including: (1) domain model immutability redesign, (2) JobParameter as a record, (3) @EnableBatchProcessing split into @EnableJdbcJobRepository or @EnableMongoJobRepository, (4) JdbcDefaultBatchConfiguration replaces DefaultBatchConfiguration, (5) JobExplorer and JobLauncher beans removed (JobRepository extends JobExplorer, JobOperator extends JobLauncher), (6) Micrometer global registry removed (ObservationRegistry required), (7) Jackson 3.x required (2.x deprecated), (8) package refactoring across org.springframework.batch.core.*, (9) transaction manager fluent API changed. Triggered by: Spring Batch 6.0 migration, upgrade spring batch 6, spring batch 6 breaking changes.
For complete list of package moves, removed/deprecated APIs, DDL changes, JobOperator method changes, and ChunkListener API changes, see:
→ references/migration-guide.md
Pre-Migration Checklist
Complete or abandon all failed v5 job instances
Upgrade Jackson dependency to 3.x
Update @EnableBatchProcessing → add @EnableJdbcJobRepository or @EnableMongoJobRepository
Change DefaultBatchConfiguration → JdbcDefaultBatchConfiguration or MongoDefaultBatchConfiguration
Remove JobExplorer / JobLauncher bean definitions (JobRepository/JobOperator now provide these)
Define ObservationRegistry bean for metrics
Update .chunk(n, tm) → .chunk(n).transactionManager(tm) (or keep deprecated form for v6)
Update all javax.persistence / jakarta.persistence imports if affected
Run DDL migration scripts from org/springframework/batch/core/migration/6.0/