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 的处理器实现,并在我的步骤中将其用作处理器[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 社区的所有近期活动。

查看全部