领先一步
VMware 提供培训和认证,助您加速进步。
了解更多我谨代表团队以及所有贡献者,很高兴地宣布 Spring Batch 5.1.0-M3 已可在我们的里程碑存储库中获取。
这个新的里程碑引入了以下主要功能:
JobRegistryBeanPostProcessor 的自动配置JobKeyGenerator有关完整的更改列表,请查看 发行说明。
此里程碑版本将 Spring 依赖项升级到以下版本:
在 Spring Batch 的上下文中,使用 Redis 的一个典型场景是在作业执行之前/之后填充/清除引用数据缓存。这是一个常见的性能改进模式,在作业执行期间,查询缓存而不是向主数据库发出多个查询非常有用。
在此里程碑版本中,库中内置的 Item Reader 和 Writer 新增了基于 Spring Data Redis 的 RedisItemReader 和 RedisItemWriter。Reader 可以通过 ScanOptions 配置以扫描要从 Redis 读取的键集。Writer 可以通过 RedisTemplate 配置以将 Item 写入 Redis。
在 Spring Batch 应用程序中配置 JobOperator 时,有必要将其作业注册到 operator 的 JobRegistry 中。此注册过程要么手动完成,要么通过向应用程序上下文添加 JobRegistryBeanPostProcessor bean 来自动完成。
在此里程碑版本中,Spring Batch 的默认配置(即使用 @EnableBatchProcessing 或扩展 DefaultBatchConfiguration 时)现在会自动在应用程序上下文中注册一个 JobRegistryBeanPostProcessor bean。这简化了配置过程,并改善了使用 JobOperator 时的用户体验。
在使用 XML 配置样式时,由于 decision 元素的存在,可以从 decider 开始作业流程。但是,直到 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 团队!