Spring Batch 4.2 现已正式发布!

版本发布 | Mahmoud Ben Hassine | 2019年10月02日 | ...

我代表 Spring Batch 团队很高兴宣布 Spring Batch 4.2 正式发布 (GA),其中包含多项新特性和性能改进!

新特性

Spring Batch 4.2 包含以下新特性

使用 Micrometer 的批处理指标

Spring Batch 始终通过 Job Repository 为用户提供各种指标。然而,由于使用数据库作为指标存储,实时消费和响应这些指标的能力一直受到限制。此版本引入了一项新特性,允许您通过 Micrometer 使用真正的指标存储来监控批处理作业。默认情况下,Spring Batch 会收集指标(例如作业持续时间、步骤持续时间、条目读写吞吐量等),并将它们注册到 Micrometer 的全局指标注册中心,前缀为 spring.batch。这些指标可以发送到 Micrometer 支持的任何监控系统。

支持 Apache Kafka

Apache Kafka 已迅速成为现代企业中的关键数据存储。此版本新增了针对 Apache Kafka 的 ItemReaderItemWriter 实现

  • KafkaItemReader 可以从单个分区或同一主题的多个分区读取消息。此 ItemReader 是有状态的,并支持从上次已知良好偏移量处重新启动。
  • KafkaItemWriter 使用 Spring for Apache Kafka 项目中的 KafkaTemplate 向给定主题发送消息。

您可以找到 Josh Long 撰写的关于此内容的全面的 Spring Tips 系列视频。

支持 Apache Avro

Apache Avro 是一个流行的数据序列化系统,广泛应用于当前的流处理和批处理应用中。此版本增加了对读写 Avro 数据文件的支持。

性能改进

此版本带来了一些重要的性能改进,我们在 之前的文章 中详细描述过。以下是主要变更的摘要:

  • 增强的步骤分区
  • 改进的作业停止
  • 使用 JpaItemWriter 更快的写入
  • 使用 BeanWrapperFieldSetMapper 优化的 Bean 映射

其他重要变更

我们还进行了以下重要变更

依赖项更新

Spring Batch 4.2 基于 Spring Framework 5.2,并已更新至使用 Spring Integration 5.2 和 Spring Data 2.2。

更新的文档

参考文档 已更新,风格与其他 Spring 项目一致。

Master/Slave 术语替换

词语很重要。在我们软件中使用 "master" 和 "slave" 词语可能会伤害我们社区的成员。考虑到我们的目标是尽可能包容,我们希望尽最大努力纠正这一点。在此版本中,我们的 API(例如 RemoteChunkingMasterStepBuilder)和批处理 XML 命名空间(例如 remote-chunking-slave 元素)中使用的 "master"/"slave" 术语已被弃用,并替换为使用 "manager" 和 "worker" 的等效术语。在下一个主要版本中,我们将永久移除使用 "master" 和 "slave" 术语的派生词汇。

接下来是什么?

我们将为 v4 系列的所有分支(v4.0、v4.1 和 v4.2)提供错误修复版本。请注意,v4.0.4 将是 4.0 系列的最后一个错误修复版本,因此我们强烈建议用户迁移到最新最好的版本:v4.2!

您可以使用 Spring Boot 2.2.0.RC1 来使用 Spring Batch 4.2。请尝试一下并分享您的反馈!欢迎在 Twitter 上联系 @michaelminella@b_e_n_a_s,或在 StackOverflowGitter 上提问。如果您发现任何问题,请在 Jira 上提交工单。

Spring Batch 在 SpringOne Platform

SpringOne Platform 即将到来,下周将在奥斯汀举行!Michael Minella 和我将很荣幸在我们的联合演讲 2019 年批处理(Batch Processing in 2019) 中与您分享 Spring Batch v4.2 的一些优秀新特性。希望在那里见到您!

Spring Batch 主页 | GitHub 上的源代码 | 参考文档

订阅 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

取得进展

VMware 提供培训和认证,助您快速发展。

了解更多

获取支持

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

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看全部