作者 | Shaaf Syed
译者 | 张卫滨
策划 | 丁晓昀
VMware 发布 Spring Batch 5.0。基于 Java 17 和最新的 Spring Framework 6.0,Spring Batch 现在支持 GraalVM 原生镜像、新的 Observation API、Java Record 以及由 50 多位贡献者实现的一系列功能增强和缺陷修复。
Spring Batch 5 依赖 Spring Framework 6、Spring Integration 6、Spring Data 3、Spring AMQP 3 和 Micrometer 1.10。此外,对 Jakarta EE API 的所有导入语句需要从 javax.*
迁移至 jakarta.*
命名空间,这是因为该版本已经迁移至 Jakarta EE 9。Spring Batch 现在使用 Hibernate 6 来读取游标和分页条目。
Spring Batch 5 引入了一个新的类,DefaultBatchConfiguration,作为 @EnableBatchProcessing 注解的替代者。它会为所有基础设施提供默认配置,用户可以据此进行自定义。用户可以声明事务管理器并使用 JobExplorer 接口自定义其事务属性。最新版本还提供了增强功能,以更好地利用框架中的 Record API,对 Record API 的支持是在 Spring Batch 4 中首次引入的。Spring Batch 还扩展了对 SAP HANA 的支持和对 MariaDB 的完整支持。
@EnableBatchProcessing
注解 不会在 应用上下文中暴露事务管理器。这对用户定义的事务管理器来说是个好消息,因为能够避免以前版本无法控制的行为。用户必须在每个 tasklet step 定义中手动配置事务管理器,以避免 XML 和 Java 配置风格的 不一致性。@EnableBatchProcessing
注解还配置了一个基于 JDBC 的 JobRepository 接口。VMware 建议使用嵌入式数据库来与内存中的 job 仓库协作。
Micrometer 升级到了 1.10 版本,允许用户获得 Batch 追踪和 Batch 度量指标。Spring Batch 现在还为每个 job 和 step 创建一个跨度(span)。这些数据可以在 Zipkin 等分布式追踪工具中查看。
另一个值得关注的变化是使用 JobParameter 类来处理 job 参数。这样,用户不用像 Spring Batch 4 那样局限于 long、double、string 或 date 类型。这一变化对参数在数据库中的持久化会有 影响。
Spring Batch 5 还删除了对 SQLFire、JSR-352(Java 平台的批处理应用)和 GemFire 的支持。
原文链接:
Spring Batch 5.0 Delivers JDK 17 Baseline and Support for Native Java(https://www.infoq.com/news/2022/12/spring-batch-5-released/)
声明:本文为 InfoQ 翻译,未经许可禁止转载。
点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!
今日好文推荐
Flink创始团队二次创业再被收购,Kafka母公司与阿里“遭遇战”已经开始
字节回应员工因没年终奖与 HR 互殴;乐视实行 4 天半工作制:不降薪无 996,研发可准点下班;亚马逊发全员信,拟裁员 1.8 万人|Q 资讯