Spring Batch 6.0.0-M2 发布
Spring Batch 6.0.0-M2 现已发布,提供了以下功能和改进:
- 依赖项升级
- chunk-oriented 处理模型的新实现
- 能够恢复突然失败的作业执行
有关完整的更改列表,可查看发行说明。
Dependencies upgrade
在此里程碑版本中,Spring 依赖项升级到以下版本:
- Spring Framework: 7.0.0-M8
- Spring Integration: 7.0.0-M2
- Spring AMQP: 4.0.0-M4
- Spring Kafka: 4.0.0-M4
- Spring Data: 4.0.0-M5
- Spring Ldap: 4.0.0-M2
- Micrometer: 1.16.0-M2
注意,此版本与 Java 17+ 兼容。
chunk-oriented 处理模型的新实现
这并非新功能,而是对 chunk-oriented 处理模型的全新增强实现。此新实现最初在 5.1 版本中作为实验性新增功能引入,现已在 6.0 版本中作为稳定版本提供。
ChunkOrientedStep
类中提供了新的实现,它是ChunkOrientedTasklet
/TaskletStep
类的替代品。
下面是如何使用其构建器定义ChunkOrientedStep
的示例:
@Bean public Step chunkOrientedStep(JobRepository jobRepository, JdbcTransactionManager transactionManager, ItemReader<Person> itemReader, ItemProcessor<Person, Person> itemProcessor, ItemWriter<Person> itemWriter) { int chunkSize = 100; return new ChunkOrientedStepBuilder<Person, Person>(jobRepository, transactionManager, chunkSize) .reader(itemReader) .processor(itemProcessor) .writer(itemWriter) .build(); }
此外,fault-tolerance 功能进行了如下调整:
- 重试功能现在基于 Spring Framework 7 中引入的重试功能,而不是以前的 Spring Retry 库
- 跳过功能已根据新实现略作调整,现在完全基于
SkipPolicy
interface
以下是使用ChunkOrientedStep
实现新功能的重试和跳过功能的简单示例:
@Bean public Step faulTolerantChunkOrientedStep(JobRepository jobRepository, JdbcTransactionManager transactionManager, ItemReader<Person> itemReader, ItemProcessor<Person, Person> itemProcessor, ItemWriter<Person> itemWriter) { // retry policy configuration int maxAttempts = 10; var retrybaleExceptions = Set.of(TransientException.class); RetryPolicy retryPolicy = RetryPolicy.builder() .maxAttempts(maxAttempts) .includes(retrybaleExceptions) .build(); // skip policy configuration int skipLimit = 50; var skippableExceptions = Set.of(FlatFileParseException.class); SkipPolicy skipPolicy = new LimitCheckingItemSkipPolicy(skipLimit, skippableExceptions); // step configuration int chunkSize = 100; return new ChunkOrientedStepBuilder<Person, Person>(jobRepository, transactionManager, chunkSize) .reader(itemReader) .processor(itemProcessor) .writer(itemWriter) .faultTolerant() .retryPolicy(retryPolicy) .skipPolicy(skipPolicy) .build(); }
有关如何从以前的实现迁移到新的实现的更多详细信息,可参阅迁移指南。
恢复失败的作业执行的能力
在 v6 之前,如果作业执行突然失败,除非手动更新数据库,否则无法恢复。这很容易出错,并且在不同的作业存储库之间不一致(因为对于 JDBC 数据库,它需要一些 SQL 语句,而对于 NoSQL 存储,则需要一些自定义语句)。
此里程碑版本引入了JobOperator
interface 中的一个新方法recover
,允许用户在所有作业存储库中一致地恢复失败的作业执行。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
InfiniEdge AI 2.0 发布:将 AI 扩展至边缘
LF Edge InfiniEdge AI 项目提供了一个模块化平台,可在云端、边缘端和设备上运行 AI 智能体。2.0 版本标志着向完全无服务器、注重隐私的 AI 边缘生态系统迈出了重要一步。本文结合各工作流更新和技术文档,总结了新版本的重点内容。 2.0 版本引入了用于边缘推理的无服务器模型上下文协议(MCP),新增了智能体数据工具,优化了 AI 智能体的流式传输功能,完成了 EdgeLake 平台上的联邦学习全生命周期,并修复了整个技术栈中的多个漏洞。版本计划中的代码实验室涵盖 YoMo 2.0、边缘数据智能体(Edge Data Agent)、SPEAR、基于 EdgeLake 的联邦学习、物理 AI / 机器人技术、AIOps 以及 2.0 环境的实操编码等主题。 工作流 1:YoMo 2.0—— 无服务器多组件处理 YoMo 是 InfiniEdge 用于无服务器 AI 推理的低延迟运行时,采用 QUIC 传输协议实现更快通信,并通过 TLS 1.3 对传输中的数据进行加密。2.0 版本新增无服务器模型上下文协议(MCP),使开发者能够通过强类型函数调用接口编排分布式 AI...
- 下一篇
Simple Admin v1.7.0 发布,分布式后台管理系统
Simple Admin v1.7.0 已经发布,分布式后台管理系统。 Simple Admin Core/Common v1.7.0 更新 更新:go zero 版本升级至 v1.9.0 优化: 重新生成所有模块的 ent 文件,适配 v0.14.5 版本 修复: 修复间接依赖导致的编译问题 更新:更新依赖 Goctls v1.12.0 更新 优化: 优化 sse 生成支持 优化:优化依赖更新策略 适配: go zero v1.9.0 相关函数更新 更新: 更新依赖 Simple Admin Backend UI Vben5 v1.7.0 更新 更新:同步 Vben 代码版本至最新 优化:优化 tree 构建相关依赖,增强 ts 支持 修复:修复多个已知问题 更新:更新依赖 详情查看:https://gitee.com/hopefire/simple-admin-core/releases/v1.7.0
相关文章
文章评论
共有0条评论来说两句吧...