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