领先一步
VMware 提供培训和认证,助您加速进步。
了解更多我代表团队和所有贡献者,很高兴地宣布 Spring Batch 5.1.0-M3 现已从我们的里程碑仓库发布。
这个新的里程碑版本引入了以下主要特性
JobRegistryBeanPostProcessor
的自动配置JobKeyGenerator
有关完整的更改列表,请查看发布说明。
此里程碑版本将 Spring 依赖升级到以下版本
在 Spring Batch 上下文中使用 Redis 的典型场景是在作业执行之前/之后使用参考数据填充/清除缓存。这是一种常见的性能改进模式,它有助于从缓存中查询数据,而不是在作业执行期间向主数据库发出多次查询。
在此里程碑版本中,基于 Spring Data Redis 的新 RedisItemReader
和 RedisItemWriter
已被引入到内置项读取器和写入器库中。读取器可以使用 ScanOptions
配置来扫描要从 Redis 读取的键集。写入器可以使用 RedisTemplate
配置来将项写入 Redis。
在 Spring Batch 应用中配置 JobOperator
时,需要在操作符的 JobRegistry
中注册作业。此注册过程可以通过手动完成,或者通过向应用上下文添加一个 JobRegistryBeanPostProcessor
bean 来自动完成。
在此里程碑版本中,Spring Batch 的默认配置(即使用 @EnableBatchProcessing
或扩展 DefaultBatchConfiguration
时)现在会自动在应用上下文中注册一个 JobRegistryBeanPostProcessor
bean。这简化了配置过程并改善了使用 JobOperator
时的用户体验。
使用 XML 配置方式时,可以通过 decision
元素以决策开始作业流。然而,直到 5.0 版本,使用 Java API 无法实现相同的流定义。
此里程碑版本向 JobBuilder
API 添加了一个新选项,可以使用 JobExecutionDecider
开始作业流。这使得两种配置方式更加一致。
默认情况下,Spring Batch 通过计算标识性作业参数的哈希值来标识作业实例。虽然不太可能需要自定义此标识过程,但 Spring Batch 仍然提供了一个策略接口,供用户通过 JobKeyGenerator
API 覆盖默认机制。
直到 5.0 版本,如果不创建自定义的 JobRepository
和 JobExplorer
,就无法提供自定义的键生成器。在此版本中,现在可以通过 JobRepository
和 JobExplorer
的工厂 bean 提供自定义的 JobKeyGenerator
。
参考文档已更新为使用 Antora。此更新引入了许多改进,包括但不限于
您可以在此处查看新文档版本。
首先,我要感谢所有为此次发布做出贡献的人!您可以将 Spring Batch 5.1.0-M3 与 Spring Boot 3.2.0-M3 一起试用。我们计划在 2023 年 11 月下旬发布 Spring Batch 5.1 GA。
我们期待您在 Github Issues、Github Discussions、Twitter 和 StackOverflow 上提供反馈。
我想提醒我们的用户,Spring Batch 4.3.x 将于 2023 年 11 月 18 日停止 OSS 支持。请尽快考虑将您的应用升级到 Spring Batch 5。您可以在此处找到 v5 的迁移指南。
如果您在将现有应用迁移到 Spring Batch 5 时需要帮助,请随时在 Github 上联系 Spring Batch 团队!