领先一步
VMware 提供培训和认证,助您加速进步。
了解更多我谨代表团队及所有贡献者,很高兴地宣布 Spring Batch 5.0.0-M8 已在我们的 milestone 仓库 中可用。
在此里程碑版本中,我们引入了两项主要更改:
本篇博文将详细介绍这两项主要更改。有关更改的完整列表,请查看 发行说明。
在此里程碑版本中,DefaultExecutionContextSerializer 已更新为将上下文序列化/反序列化到/从 Base64。
此外,由 @EnableBatchProcessing 或 DefaultBatchConfiguration 配置的默认 ExecutionContextSerializer 已从 JacksonExecutionContextStringSerializer 更改为 DefaultExecutionContextSerializer。Jackson 的依赖项已设为可选。为了使用 JacksonExecutionContextStringSerializer,应将 jackson-core 添加到类路径中。
在此版本中,我们重新审视了 SystemCommandTasklet 并进行了如下更改:
引入了一个名为 CommandRunner 的新策略接口,用于将命令执行与 tasklet 执行解耦。默认实现是 JvmCommandRunner,它使用 java.lang.Runtime#exec API 来运行系统命令。可以实现此接口以使用任何其他 API 来运行系统命令。
现在,运行命令的方法接受一个 String 数组,表示命令及其参数。不再需要对命令进行分词或进行任何预处理。此更改使 API 更直观,且不易出错。
我要感谢所有为本次发行做出贡献的人!随着我们继续开展 Spring Batch 5 的工作,我们期待在 Github、Twitter 和 StackOverflow 上收到您的反馈。