@levinzhang
2023-01-08T09:47:26.000000Z
字数 1321
阅读 357
by
VMware发布Spring Batch 5.0。基于Java 17和最新的Spring Framework 6.0,Spring Batch现在支持GraalVM原生镜像、新的Observation API、Java Record以及由50多位贡献者实现的一系列功能增强和缺陷修复。
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