领先一步
VMware 提供培训和认证,助您加速进步。
了解更多我们很高兴地宣布 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。三个关键接口是 Supplier、Function 和 Consumer。此版本提供了一个 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 的配置)。目前已实现此功能的页面是:
在下一个版本发布之前,我们将完成此迁移,以便 Spring Batch 参考文档中的所有示例都能通过 Java 配置和 XML 配置进行说明。
展望未来,我们将完成文档更新。我们还将研究其他函数式接口如何融入 Spring Batch。最后,我们将更新 Spring Framework 生态系统的其余最新依赖项,为 GA 版本做准备。
Spring Batch 4.0.0.M4 上周五发布时存在错误,不建议一般使用。4.0.0.M5 是最新推荐使用的里程碑。
我们期待您在 Jira、StackOverflow 或通过 Twitter @michaelminella 直接向我反馈这些新功能!
Spring Batch 主页 | GitHub 源码 | 参考文档
[1] 注意:我们知道存在 ItemProcessorAdapter,它提供了另一种方式来使用不实现 ItemProcessor 的服务作为 ItemProcessor。