写点什么

Spring Batch 5.0 发布,使用 JDK 17 作为基线版本并支持原生 Java

作者:Shaaf Syed

  • 2023-01-11
    北京
  • 本文字数:839 字

    阅读完需:约 3 分钟

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

2023-01-11 08:0018017

评论

发布
暂无评论
发现更多内容
Spring Batch 5.0发布,使用JDK 17作为基线版本并支持原生Java_编程语言_InfoQ精选文章