Spring Batch 5.0.0-M4 发布


Spring Batch 5.0.0-M4 已发布,新版本在支持 Java Records 方面进行了部分改进,以及其他功能增强、错误修复、依赖升级和文档更新。

Spring Batch 是一个轻量级且功能全面的批处理框架,使用 Spring 和 Java 编写离线和批处理应用程序,旨在为开发对企业系统日常运行至关重要的批处理应用程序提供支持。

改进对 Java Records 的支持

v4.3 是最早支持 Java Records 的版本,不过这种支持能力有限,原因是 v4 系列基于 Java 8 开发。在 Java 8 中,Records 尚未进入预览阶段,最初的支持是基于反射技术来创建 Java Records 并使用数据进行填充,而无需访问java.lang.Record,该 API 最终在 Java 16 才确定。

现在 v5 基于 Java 17 开发,开发者通过在框架的不同部分利用java.lang.RecordAPI 来改进 Spring Batch 中的 Records 支持。例如,FlatFileItemReaderBuilder现在能够检测项目类型是 Records 还是常规类,并相应地配置相应的FieldSetMapper实现(RecordFieldSetMapper用于Records,BeanWrapperFieldSetMapper用于常规类)。同样的功能也已经在 FlatFileItemWriterBuilder 中实现,以便根据项目类型配置RecordFieldExtractor BeanWrapperFieldExtractor

修复错误

此版本修复了一些重要错误,并会破坏兼容性。

  • 如果 classpath 中没有spring-tx,则无法读取 XML 数据 #4132
  • 使用链式StepBuilder时会丢失事务属性 #3686
  • 添加StepExecutionListener后,无法正确注册ItemReadListener #773
  • 无法继承final class com.sun.proxy.$Proxy202 #793
  • StepBuilderFactory仅支持 Listener Annotations,不支持 Listener Interfaces #1098

升级依赖

  • Upgrade to Spring Framework 6.0.0-M5
  • Upgrade to Spring Data 2022.0.0-M5
  • Upgrade to Spring Integration 6.0.0-M4
  • Upgrade to Spring AMQP 3.0.0-M3
  • Upgrade to Spring for Apache Kafka 3.0.0-M5
  • Upgrade to Micrometer 1.10.0-M3
  • Upgrade to Hibernate 6.1.1.Final

Release Notes | 发布公告


相關推薦

2022-11-12

Spring Batch 5.0 发布了第二个 RC 版本。 Spring Batch 是一个轻量级且功能全面的批处理框架,使用 Spring 和 Java 编写离线和批处理应用程序,旨在为开发对企业系统日常运行至关重要的批处理应用程序提供支持。 此版本包含三项

2023-10-20

(的前两天),相约开源PHP办公室,我们一起聊 AI!>>> Spring Batch 5.1 发布了首个 RC 版本。 Spring Batch 是一个轻量级且功能全面的批处理框架,使用 Spring 和 Java 编写离线和批处理应用程序,旨在为开发对企业系统日常运行至

2022-10-24

Spring Batch 5.0 发布了首个 RC 版本。 Spring Batch 是一个轻量级且功能全面的批处理框架,使用 Spring 和 Java 编写离线和批处理应用程序,旨在为开发对企业系统日常运行至关重要的批处理应用程序提供支持。 此版本包含两个主

2022-09-24

Spring Batch 5.0.0-M6 和 4.3.7 已发布。 Spring Batch 是一个轻量级且功能全面的批处理框架,使用 Spring 和 Java 编写离线和批处理应用程序,旨在为开发对企业系统日常运行至关重要的批处理应用程序提供支持。 Spring Batch 5.0.0-M6 的

2022-10-06

Spring Batch 5.0.0-M7 已发布。 Spring Batch 是一个轻量级且功能全面的批处理框架,使用 Spring 和 Java 编写离线和批处理应用程序,旨在为开发对企业系统日常运行至关重要的批处理应用程序提供支持。 Spring Batch 5.0.0-M7 的更新内

2022-08-27

这个里程碑的主要主题是改善 Spring Batch 的测试支持。 测试工具配置更新 到 4.3 版本为止, JobLauncherTestUtils 用来自动连接被测 Job,目的是为了方便测试设置。但如果在测试上下文中定义了多个 Job 呢?如果根本就没有定义 Job b

2022-05-23

Spring Batch 发布了 4.3.6 和 5.0.0-M3,前者可从中央仓库获取,后者需要从 https://repo.spring.io/milestone 获取。 Spring Batch 是一个轻量级且功能全面的批处理框架,使用 Spring 和 Java 编写离线和批处理应用程序,旨在为开发

2023-08-27

26 日「源创会」北京站,聊聊 AI 大模型与底层技术 >>> Spring Batch 多个分支发布了更新,包括: 5.1.0-M2, 5.0.3 和 4.3.9。 Spring Batch 是一个轻量级且功能全面的批处理框架,使用 Spring 和 Java 编写离线和批处理应用程序,旨

2022-10-15

Spring Batch 5.0.0-M8 已发布。 Spring Batch 是一个轻量级且功能全面的批处理框架,使用 Spring 和 Java 编写离线和批处理应用程序,旨在为开发对企业系统日常运行至关重要的批处理应用程序提供支持。 此版本包含两个主要变

2022-06-01

Spring Native 0.12.0 现已发布。此版本包括 12 个 bug 修复、文档改进以及对 GraalVM 22.1、Spring Boot 2.7.0 和 Spring Cloud 2021.0.3 的依赖项升级。 Spring Native(前身为 Spring GraalVM Native,Spring 社区试验性项目)通过使用 GraalVM 原生镜像编

2022-06-25

Spring Boot 为两个分支发布了更新,分别是 2.7.1 和 2.6.9。 更新内容包括修复错误、优化文档以及升级依赖。 v2.7.1 修复使用 HTTP/2 时忽略 Tomcat server.max-http-header-size 属性的问题 #31329 修复 OAuth2 Resource Server Auto-C

2023-04-01

Spring Cloud 2022.0.2 已发布。 获取地址:Maven Spring Cloud 为开发人员提供了工具,以快速构建分布式系统中的某些常见模式(例如:配置管理、服务发现、智能路由、微代理、控制总线、一次性令牌、全局锁、分布式会话、群

2023-02-18

Spring Cloud Data Flow 2.10.1 发布了。 Spring Cloud Data Flow 是构建数据集成和实时数据处理流水线的工具包  这是一个修复版本,主要带来如下内容: 库更新 Spring Boot 2.7.8 Spring Framework 5.3.25 Spring Shell 2.1.5 K

2024-10-31

用到,但是在底层框架中却大量使用,包括 JDBC、Dubbo、Spring、Solon、slf4j 等框架都有用到,不同的是有的使用 Java 原生的实现,有的框架则自己实现了一套 SPI 机制. 二、Spring SPI Spring 中的 SPI 相比于 JDK 原生的,它的功能更强