Spring Batch 5.0 发布,使用 JDK 17 作为基线版本并支持原生 Java
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 资讯
微信扫码关注该文公众号作者