领先一步
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 正式版发布之前,我们将开始研究其他函数式接口及其对 Spring Batch 的适用性。
自 Java 配置成为规范以来,Spring Batch 文档尚未进行重大改版。此版本开始过渡文档以解决此问题。您将在以下页面的顶部看到 Java 和 XML 之间的切换。该切换将指示页面中的示例是如何配置的(分别通过基于 Java 的配置或基于 XML 的配置)。当前在此处实现的页面为
在我们的下一个版本发布之前,我们将完成此迁移,以便 Spring Batch 参考文档中的每个示例都可以通过 Java 配置和 XML 配置两种方式进行说明。
展望未来,我们将完成文档更新。我们还将研究其他函数式接口如何融入 Spring Batch。最后,我们将获取 Spring Framework 生态系统其余的最新依赖项,以准备正式版发布。
Spring Batch 4.0.0.M4 于上周五发布,其中存在错误,不建议一般使用。4.0.0.M5 是最新的推荐使用里程碑。
我们期待您对这些新功能的反馈,您可以在 Jira、StackOverflow 或通过 Twitter 直接联系我 @michaelminella!
Spring Batch 主页 | GitHub 上的源代码 | 参考文档
[1] 注意:我们知道 ItemProcessorAdapter
存在,并且它提供了另一种方法来实现将不实现 ItemProcessor
的服务用作 ItemProcessor
。