Spring Batch 5.1.0-M3 现已发布!

发布 | Mahmoud Ben Hassine | 2023 年 9 月 20 日 | ...

我代表团队和所有贡献者,很高兴地宣布 Spring Batch 5.1.0-M3 现已从我们的里程碑仓库发布。

这个新的里程碑版本引入了以下主要特性

  • 依赖升级
  • 新增 Redis 项读取器和写入器
  • JobRegistryBeanPostProcessor 的自动配置
  • 能够以决策开始作业流
  • 能够提供自定义的 JobKeyGenerator
  • 基于 Antora 的新文档

有关完整的更改列表,请查看发布说明

依赖升级

此里程碑版本将 Spring 依赖升级到以下版本

  • Spring Framework 6.1.0-M5
  • Spring Integration 6.2.0-M3
  • Spring Data 3.2.0-M3
  • Spring LDAP 3.2.0-M3
  • Spring AMQP 3.1.0-M1
  • Spring Kafka 3.1.0-M1
  • Micrometer 1.12.0-M3

新增 Redis 项读取器和写入器

在 Spring Batch 上下文中使用 Redis 的典型场景是在作业执行之前/之后使用参考数据填充/清除缓存。这是一种常见的性能改进模式,它有助于从缓存中查询数据,而不是在作业执行期间向主数据库发出多次查询。

在此里程碑版本中,基于 Spring Data Redis 的新 RedisItemReaderRedisItemWriter 已被引入到内置项读取器和写入器库中。读取器可以使用 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 版本,如果不创建自定义的 JobRepositoryJobExplorer,就无法提供自定义的键生成器。在此版本中,现在可以通过 JobRepositoryJobExplorer 的工厂 bean 提供自定义的 JobKeyGenerator

基于 Antora 的新文档

参考文档已更新为使用 Antora。此更新引入了许多改进,包括但不限于

  • 多版本文档:现在可以通过左侧菜单中的下拉版本列表在不同版本之间导航。
  • 集成搜索体验:由 Algolia 提供支持,现在页面左上角的集成搜索框提供了更好的搜索体验
  • 改进的配置样式切换:用于切换代码片段的 XML 和 Java 配置样式的切换开关现在位于每个示例附近,而不是页面顶部

您可以在此处查看新文档版本。

下一步是什么?

分享您的反馈!

首先,我要感谢所有为此次发布做出贡献的人!您可以将 Spring Batch 5.1.0-M3 与 Spring Boot 3.2.0-M3 一起试用。我们计划在 2023 年 11 月下旬发布 Spring Batch 5.1 GA。

我们期待您在 Github IssuesGithub DiscussionsTwitterStackOverflow 上提供反馈。

升级到 Spring Batch 5

我想提醒我们的用户,Spring Batch 4.3.x 将于 2023 年 11 月 18 日停止 OSS 支持。请尽快考虑将您的应用升级到 Spring Batch 5。您可以在此处找到 v5 的迁移指南。

如果您在将现有应用迁移到 Spring Batch 5 时需要帮助,请随时在 Github 上联系 Spring Batch 团队!

Spring Batch 主页|Github 源码|参考文档

订阅 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获取支持

Tanzu Spring 通过一个简单的订阅提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

近期活动

查看 Spring 社区的所有近期活动。

查看全部