红联Linux门户
Linux帮助

Spring Batch 4.0.0正式发布,批处理框架

发布时间:2017-12-05 09:03:58来源:红联作者:baihuo
Spring Batch 4.0.0 已发布,Spring Batch 是一个轻量级的,完全面向 Spring 的批处理框架,可以应用于企业级大量的数据处理系统。Spring Batch 以 POJO 和 Spring 框架为基础,使开发者更容易的访问和利用企业级服务。Spring Batch 可以提供大量的,可重复的数据处理功能,包括日志记录/跟踪,事务管理,作业处理统计工作重新启动、跳过,和资源管理等重要功能。

Spring Batch 4.0 是自2014年 3.0 发布以来的又一个主要版本。3.0 发布至今,Spring 生态系统发生了很大变化,4.0 版本旨在让 Spring Batch 更新这些变化。

New Baseline

Spring Batch 3 基于 Spring Framework 4 ,Spring Batch 4 重新审视了它的依赖关系树,将它与即将到来的 Spring Boot 2 依赖关系树进行了更新,包括将 Spring Framework 5 和 Java 8 作为基线要求。

改进的 Java 配置

如前所述,Spring Batch 4 是 Spring Boot 发布以来的第一个主要版本。在这个版本中,改善了让用户的 Java 配置体验。所有 ItemReader 和 ItemWriter 实现现在都可以使用构建器。使用 Spring Batch 3 的 Java 配置功能,将需要如下所示:[code]@Bean
public FlatFileItemReader reader(Resource resource)
throws Exception {

FlatFileItemReader reader = new FlatFileItemReader<>();

reader.setName(“fooReader”);
reader.setResource(resource);

BeanWrapperFieldSetMapper fieldSetMapper =
new BeanWrapperFieldSetMapper<>();
fieldSetMapper.setTargetType(Foo.class);
fieldSetMapper.afterPropertiesSet();

DelimitedLineTokenizer tokenizer = new DelimitedLineTokenizer();
tokenizer.setNames(new String[] {“first”, “second”, “third”});
tokenizer.afterPropertiesSet();

DefaultLineMapper lineMapper = new DefaultLineMapper();
lineMapper.setLineTokenizer(tokenizer);
lineMapper.setFieldSetMapper(fieldSetMapper);

reader.setLineMapper(lineMapper);

return reader;
}[/code]使用 Spring Batch 4,配置简化如下:[code]@Bean
public FlatFileItemReader reader(Resource resource) {
return new FlatFileItemReaderBuilder()
.name(“fooReader”)
.resource(resource)
.delimited()
.names(new String[]{“first”, “second”, “third”})
.targetType(Foo.class)
.build();
}[/code]新文档

Spring Batch 的文档多年来一直没有经过大的修改。但在这个版本中,文档已经被移植到 Asciidoc 中,以简化文档的创建,并且在整个 Spring 组合中保持一致。 除此之外,参考文档现在可以选择使用每页顶部的切换选项查看 Java 配置或 XML 配置中的所有示例。

软件详情:https://spring.io/blog/2017/12/04/spring-batch-4-0-0-release-is-now-available

来自:开源中国社区
文章评论

共有 0 条评论