Spring Batch

Spring Batch(2)——Job配置与运行

和自甴很熟 提交于 2019-11-29 06:38:59
在 Spring Batch(1)——数据批处理概念 文中介绍了批处理的概念以及Spring Batch相关的使用场景,后续将会陆续说明在代码层面如何使用。 引入 Spring batch的引入非常简单,只需要引入Spring Framework、Datasource以及Spring Batch。在Spring Boot体系下只需引入 spring-boot-starter-batch 即可。他已经涵盖了以上所有内容。 Job配置 Job 接口有多种多样的实现类,通常我们使用configuration类来构建获取一个 Job : @Bean public Job footballJob() { return this.jobBuilderFactory.get("footballJob") //Job名称 .start(playerLoad()) //Job Step .next(gameLoad()) //Job Step .next(playerSummarization()) //Job Step .end() .build(); } 上面的代码定义了一个 Job 实例,并且在这个实例中包含了三个Step实例 重启(启动)配置 批处理的一个核心问题是需要定义重启(启动)时的一些行为。当指定的 JobInstance 被 JobExecution 执行时候即认为某个 Job

Spring Batch(4)——Item概念及使用代码

自古美人都是妖i 提交于 2019-11-29 05:58:30
在 批处理概念 中介绍一个标准的批处理分为 Job 和 Step 。本文将结合代码介绍在 Step 中 Reader 、 Processor 、 Writer 的实际使用。 Reader Reader 是指从各种各样的外部输入中获取数据,框架为获取各种类型的文件已经预定义了常规的 Reader 实现类。 Reader 通过 ItemReader 接口实现: public interface ItemReader<T> { T read() throws Exception, UnexpectedInputException, ParseException, NonTransientResourceException; } read 方法的作用就是读取一条数据,数据以泛型T的实体结构返回, 当read返回null时表示所有数据读取完毕 。返回的数据可以是任何结构,比如文件中的一行字符串,数据库的一行数据,或者xml文件中的一系列元素,只要是一个Java对象即可。 Writer Writer 通过 ItemWriter 接口实现: public interface ItemWriter<T> { void write(List<? extends T> items) throws Exception; } Writer 是 Reader 的反向操作,是将数据写入到特定的数据源中。在

Spring Batch 介绍

自闭症网瘾萝莉.ら 提交于 2019-11-28 09:19:14
在企业应用的关键环境中,通常有需要很多应用来来处理大量的应用。这商业操作包括了自动化,并且负责的处理程序来对大量数据进行高效的处理,通常这些程序不需要人工进行干预。这些事件包括有基于时间周期产生的操作(例如,月末统计计算,通知或者消息通知,或者定期处理那些业务逻辑非常复杂,并且数据量非常大的操作(例如,保险的保额确定或者保险费率的调整),也有可能是从内部或者外部抓取到的数据的格式化,通常这些数据需要进行格式化,校验,并且通过事务来整合到自己的数据库中。批处理通常被用来针对企业每天产生超过亿万级别的数据量。 Spring Batch是一个轻量级的综合性批处理框架,可用于开发企业信息系统中那些至关重要的数据批量处理业务。Spring Batch 是基于生产率来进行构建的,并且基于 POJO 进行开发,用户也很容易上手使用,让开发者很容易的访问和使用企业级服务。Spring Batch 不是一个自动运行框架。在市面已经有了很多企业级和开源的自动运行框架,例如 Quartz,Tivoli, Control-M 等。Spring Batch 被设计与计划任务和调度程序一同协作完成任务,而没有被设计用来取代任务调度和计划任务。 Spring Batch 提供了可重用的功能,这些功能被用来对大量数据和记录进行处理,包括有日志/跟踪(logging/tracing),事务管理

Spring Batch 4.2 新特性

亡梦爱人 提交于 2019-11-27 06:27:07
Spring Batch 4.2 的发行版主要增强了下面的改进: 使用 Micrometer 来支持批量指标(batch metrics) 支持从 Apache Kafka topics 读取/写入(reading/writing) 数据 支持从 Apache Avro 资源中读取/写入(reading/writing) 数据 改进支持文档 使用 Micrometer 的批量指标 本发行版本介绍了可以让你通过使用 Micrometer 来监控你的批量作业。在默认的情况下,Spring Batch 将会收集相关批量指标(包括,作业时间,步骤的时间,读取和写入的项目,以及其他的相关信息),和将这些指标通过 spring.batch 前缀(prefix)注册到 Micrometer 的全局指标中。 这些指标可以发布到任何能够支持 Micrometer 的 监控系统(monitoring system) 中。 有关这个新特性的更多细节,请参考 Monitoring and metrics 章节中的内容。 Apache Kafka item 读取/写入 本发行版本添加了一个新的 KafkaItemReader 和 KafkaItemWriter ,用来从 Kafka 的 topics 中读取和写入。 有关更多这个新组建的信息,请参考: Javadoc 。 Apache Avro item