Download Latest Version v5.2.2 source code.tar.gz (8.7 MB)
Email in envelope

Get an email when there's a new version of Spring Batch

Home / v5.2.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2024-11-21 5.9 kB
v5.2.0 source code.tar.gz 2024-11-21 8.7 MB
v5.2.0 source code.zip 2024-11-21 11.1 MB
Totals: 3 Items   19.8 MB 0

:star: New features

  • Add support for MongoDB as JobRepository #877
  • Introduce a resourceless job repository implementation #4679
  • Add adapters for Java functional interfaces #4672
  • Add ability to customize the job parameters converter in the default batch configuration #4650
  • Add CompositeItemReader analogous to CompositeItemWriter and CompositeItemProcessor #757
  • Allow dependent steps to start concurrently #2044
  • Add blocking queue item reader/writer to enable implementing the staged event-driven architecture in batch jobs #2350
  • Add support for data classes in JdbcCursorItemReaderBuilder & JdbcPagingItemReaderBuilder [#4578]
  • Add support for query hints in JPA item readers [#4479]
  • Add possibility to configure line separator in RecursiveCollectionLineAggregator [#4594]
  • Add JobRegistrySmartInitializingSingleton [#4521]
  • Add DatabaseType POSTGRES for the product name EnterpriseDB #4627
  • Revisit the mechanism of job registration [#4547]

:lady_beetle: Bug fixes

  • Incorrect bean configuration in DefaultBatchConfiguration [#4543]
  • BeanPostProcessorChecker.postProcessAfterInitialization WARNING after upgrade spring-framework-6.1.0 [#4489]
  • Possible duplicate state transitions in flow definition [#3674]
  • Order of Transition Elements Still Does Not completely adhere to documentation [#3996]
  • Memory leak in MessageChannelPartitionHandler when polling the database [#4598]
  • ListItemWriter<T>::getWrittenItems has bad wildcard return type [#4576]
  • SimpleBinaryBufferedReaderFactory misses line endings [#811]
  • StepExecution.getEndTime() returns null in StepExecutionListener.afterStep() [#3846]
  • Default value for ignoreWarnings in JdbcCursorItemReaderBuilder does not align with documentation [#4570]
  • Remote partitioning doesn't work if you're using graalvm [#4564]
  • SystemCommandTasklet does not propagate errors [#4483]
  • Incorrect Chunk property value in implementation of ItemWriter write method [#4560]
  • Incorrect step configuration when setting the taskExecutor before faultTolerant() [#4438]
  • Incorrect deprecation in MongoPagingItemReader [#4552]
  • JobRepository.deleteJobInstance() Fails with Foreign Key Constraint Violation if Job Executions have Step Executions [#4382]
  • DefaultJobParametersConverter throws java.lang.ArrayIndexOutOfBoundsException if input is empty string [#4505]
  • Wrong column types in JdbcStepExecutionDao [#4648]
  • MongoStepExecutionDao returns an different stepExecution if a job has multiple steps spring-projects-experimental/spring-batch-experimental/issues/3

:rocket: Enhancements

  • Bad performance of GET_LAST_STEP_EXECUTION query on DB2 with large STEP_EXECUTION table #4657
  • Use Threadlocal.remove() instead of Threadlocal.set(null) [#4601]
  • Performance issue in DefaultFieldSet due to the usage of SimpleDateFormat [#1694]
  • Improve Error Messages in JobParametersBuilder methods [#4581]
  • Implement jumpToItem in JsonItemReader [#4557]
  • Maintain similar ordering of elements between DefaultStateTransitionComparator and FlowJobBuilder [#4527]
  • Avoid collection copying [#4553]
  • Make util classes to follow code style guide [#4545]
  • Use annotation @Override consistently [#4512]
  • Check dirty flag of step execution context before update in inner loop [#4503]
  • Missing @FunctionalInterface in JobKeyGenerator [#4613]
  • Proper default value for skipLimit [#4661]

:notebook_with_decorative_cover: Documentation

  • Flow order priority does not match documented behavior [#4456]
  • Incorrect link to batch reference documentation on project page [#4637]
  • Typo in architecture doc [#4607]
  • Grammatical error in restart.adoc [#4600]
  • Incorrect link in appendix [#4595]
  • Missing information about error handling in ChunkListeners [#4384]
  • Improve Javadoc regarding the sort order in RepositoryItemReader [#4462]
  • Fix code sample that uses deprecated StepBuilderFactory [#4582]
  • Misleading documentation on ItemWriteListener [#4400]
  • Incorrect code example in documentation [#4550]
  • Reference Documentation Uses Deprecated Class StepExecutionListenerSupport [#4538]
  • Incorrect Type of getter in Documentation for JobParameters#getDouble [#4526]
  • UI Aligment Issue - Spring Batch Version Number in Docs [#4534]
  • Missing documentation about MultiResourceItemWriter not creating empty files when no data goes through delegates [#4645]
  • Typo in the documentation chapter Spring Batch Integration [#4649]

🆙 Dependency Upgrades

  • Spring Framework: 6.2.0
  • Spring Retry: 2.0.10
  • Micrometer: 1.14.1
  • Spring Integration: 6.4.0
  • Spring AMQP: 3.2.0
  • Spring Kafka: 3.3.0
  • Spring Data: 3.4.0
  • Spring Ldap: 3.2.8

:hammer: Tasks

  • Deprecate the usage of LobHandler #4588
  • Deprecate SystemPropertyInitializer #4680
  • Remove deprecated APIs scheduled for removal in v5.2.0 [#4398]
  • Regression in javadocs deployment script [#4511]

:heart: Contributors

Many thanks to all contributors who worked on this release!


Full change log: https://github.com/spring-projects/spring-batch/compare/v5.1.2...v5.2.0

Source: README.md, updated 2024-11-21