Spring Batch 4.3.0 的第一个里程碑版本发布了,可从 里程碑仓库
获取。
新特性
1. 新的同步 ItemStreamWriter
与 SynchronizedItemStreamReader 相似,此版本添加了 SynchronizedItemStreamWriter。此功能在多线程步骤中很有用,在这些步骤中,需要同步并发线程,以免覆盖彼此的写入。
2. 添加对 JpaPagingItemReader 中命名查询的支持
JpaPagingItemReader 中可以使用命名查询。但是,这需要创建一个自定义查询提供程序,如下所示:
JpaPagingItemReader<Foo> reader = new JpaPagingItemReaderBuilder<Foo>() .name("fooReader") .queryProvider(new AbstractJpaQueryProvider() { @Override public Query createQuery() { return getEntityManager().createNamedQuery("allFoos", Foo.class); } @Override public void afterPropertiesSet() throws Exception { } }) // set other properties on the reader .build();
此版本引入了 JpaNamedQueryProvider 简化配置,现在可以这样写:
JpaPagingItemReader<Foo> reader = new JpaPagingItemReaderBuilder<Foo>() .name("fooReader") .queryProvider(new JpaNamedQueryProvider("allFoos", Foo.class)) // set other properties on the reader .build();
3. 简化 Spring Batch 测试的配置
与使用 @ExtendWith(SpringExtension.class)
进行元注释的 Spring Boot 测试注释类似(例如 @SpringBootTest
, @WebMvcTest
等),新版本将 @SpringBatchTest
更新为使用 @ExtendWith(SpringExtension.class)
.进行元注释。这简化了使用 JUnit Jupiter 编写测试时的配置。
此功能不影响 JUnit 4 用户,仅涉及基于 JUnit 5 的测试。
此版本还带来不少性能改进,详情见更新说明:
https://spring.io/blog/2020/06/26/spring-batch-4-3-0-m1-is-released-now
原文
https://www.oschina.net/news/116757/spring-batch-4-3-0-m1-released
本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Spring Batch 4.3.0-M1 发布