保持领先
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
的处理器实现,并在我的步骤中将其用作处理器[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
的方法。