Spring Batch 4.0.0.M5 现已发布

发布 | Michael Minella | 2017年10月24日 | ...

我们很高兴地宣布 Spring Batch 4.0.0.M5 已通过 Github 和 Pivotal 下载仓库提供。此版本是 Spring Batch 4.0 的第五个里程碑。非常感谢所有为此版本做出贡献的人。

有什么新功能?

此里程碑继续了之前 4.0.0 里程碑的工作。具体更新包括:

  • 依赖更新
  • FunctionItemProcessor
  • 文档持续更新

依赖更新

随着 Spring Boot 2 依赖图的演进,我们一直在更新我们的依赖以保持一致。本次更新包括引入 Spring Framework 5 的 GA 版本以及 Spring Data Kay。Spring Integration 5.0.0.M7 也被引入到此版本中。

FunctionItemProcessor

随着 Java 8 和函数式接口(来自 java.util.function 包)的引入,我们有必要审视这些接口如何映射到 Spring Batch。三个关键接口是 SupplierFunctionConsumer。此版本提供了一个 ItemProcessor 及其相关功能,以支持将 Function 用作 ItemProcessor。示例可能如下所示:

...
@Bean
public Function<String, String> upperCaseFunction() {
	return o -> o.toUpperCase();
}

@Bean
public Step step1() {
	return this.stepBuilderFactory.get("step1")
				.<String, String>chunk(10)
				.reader(reader())
				.processor(upperCaseFunction())
				.writer(writer())
				.build();
}
...

请注意,在前面的示例中,实际的 Function 实现零 Spring Batch 依赖。我可以创建一个不实际实现 ItemProcessor 的处理器实现,并在我的 step[1] 中将其用作处理器。

在 Spring Batch GA 版本发布之前,我们将开始研究其他函数式接口及其在 Spring Batch 中的适用性。

文档更新

自 Java 配置成为主流以来,Spring Batch 文档尚未进行重大改版。此版本开始将文档过渡到解决此问题。您将在以下页面的顶部看到 Java 和 XML 之间的切换。该切换将分别指示页面中的示例是如何配置的(通过基于 Java 的配置或基于 XML 的配置)。目前已实现此功能的页面是:

  1. Spring Batch 简介
  2. 批处理领域
  3. 配置和运行 Job
  4. 配置 Step
  5. Reader 和 Writer

在下一个版本发布之前,我们将完成此迁移,以便 Spring Batch 参考文档中的所有示例都能通过 Java 配置和 XML 配置进行说明。

下一步是什么?

展望未来,我们将完成文档更新。我们还将研究其他函数式接口如何融入 Spring Batch。最后,我们将更新 Spring Framework 生态系统的其余最新依赖项,为 GA 版本做准备。

Spring Batch 4.0.0.M4 发生了什么?

Spring Batch 4.0.0.M4 上周五发布时存在错误,不建议一般使用。4.0.0.M5 是最新推荐使用的里程碑。

您怎么看?

我们期待您在 JiraStackOverflow 或通过 Twitter @michaelminella 直接向我反馈这些新功能!

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

[1] 注意:我们知道存在 ItemProcessorAdapter,它提供了另一种方式来使用不实现 ItemProcessor 的服务作为 ItemProcessor

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看所有