领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多我很高兴地宣布,Spring Batch 4.3.0-RC1 现在可以从我们的 里程碑存储库 获取。
此版本包含许多新功能,您可以在 发行说明 中找到,但以下是主要亮点
Spring Framework 已经做了很多工作来支持在 GraalVM 上运行某些类型的 Spring 应用程序。在此版本中,我们在 Spring Batch 中进行了更改,以便也能在 GraalVM 上正确运行 Batch 应用程序。
此支持仍在实验阶段,因此我们鼓励您试用此版本并分享您的反馈。
Java 14 中引入了 Records,并在几天前发布的 Java 15 中进行了审查。在此版本中,我们添加了对在面向块的步骤中使用 Java Records 作为项的支持。以下示例显示了如何使用 Records 从平面文件中读取数据。
id,name
1,William Shakespeare
2,Anne Hathaway
public record Person(int id, String name) { }
以下 FlatFileItemReader
bean 定义允许将数据读取到记录项中。
@Bean
public FlatFileItemReader<Person> itemReader() {
return new FlatFileItemReaderBuilder<Person>()
.name("personReader")
.resource(new FileSystemResource("persons.csv"))
.delimited()
.names("id", "name")
.fieldSetMapper(new RecordFieldSetMapper<>(Person.class))
.build();
}
此示例中的关键组件是新添加的 RecordFieldSetMapper
,用于支持从平面文件读取记录的数据映射。您可以使用 Spring Framework 中的 DataClassRowMapper
从关系数据库进行数据映射。
JpaCursorItemReader
实现JPA 2.2 添加了以游标方式流式传输结果的能力,而不仅仅是分页。在此版本中,我们引入了一个新的 JPA 项目读取器,它使用此功能以类似于 JdbcCursorItemReader
和 HibernateCursorItemReader
的基于游标的方式流式传输结果。
此版本将 Spring 项目依赖项升级到以下版本:
您可以使用 Spring Boot 2.4.0-M3 使用 Spring Batch v4.3.0-RC1。
正如我们今年早些时候宣布的那样,4.3 版本将是 4 版本系列的最后一个功能版本。在此版本中,我们抓住机会弃用了一些 API,以便在下一个主要版本(5 版本)中移除。
此版本中最显著的变化是弃用了基于 Map 的 JobRepository
和 JobExplorer
实现。您可以在问题 #3780 中找到有关此决定的动机的更多详细信息。
我要感谢所有使此版本成为可能的贡献者!我们期待您对 Twitter、StackOverflow 和 Github 上此里程碑的反馈。