Spring Batch 核心概念 2

来源:互联网 发布:淘宝商家免费使用要求 编辑:程序博客网 时间:2024/06/07 05:58

– Start
通过上节的例子,其中涉及到几个概念 ItemReader,ItemWriter,ItemProcessor, chunk,先来看下面的代码片段和图片。

<batch:chunk reader="extractFileReader" processor="extractFileProcessor" writer="extractFileWriter" commit-interval="10"/>

这里写图片描述

ItemReader

ItemReader 负责读取数据,它有如下实现类。

实现类 说明 FlatFileItemReader 从文件中读取数据 MultiResourceItemReader 从多个文件中读取数据 ResourcesItemReader 从多个文件中读取数据,支持通配符 LdifReader 通过 Spring LDAP 从文件中读取数据 MappingLdifReader 通过 Spring LDAP 从文件中读取数据 StaxEventItemReader 通过 StAX 从 XML 文件中读取数据 JdbcCursorItemReader 通过 SQL 从数据库中读取数据 StoredProcedureItemReader 通过存储过程从数据库中读取数据 HibernateCursorItemReader 通过 HQL 从数据库中读取数据 Neo4j4ItemReader 从 Neo4j 数据库中读取数据 Neo4jItemReader 从 Neo4j 数据库中读取数据 MongoItemReader 从 MongoDB 数据库中读取数据 RepositoryItemReader 通过 Repository 从数据库中读取数据 HibernatePagingItemReader 通过 Hibernate 从数据库中读取数据,支持分页 IbatisPagingItemReader 通过 Ibatis 从数据库中读取数据,支持分页 JdbcPagingItemReader 通过 SQL 从数据库中读取数据,支持分页 JpaPagingItemReader 通过 Jpa 从数据库中读取数据,支持分页 JmsItemReader 从 JMS 中读取数据 AmqpItemReader 从 AMQP 中读取数据 ListItemReader 从 List 中读取数据 IteratorItemReader 从 Iterable 中读取数据 ItemReaderAdapter 装饰者,真正的操作委托给代理 SingleItemPeekableItemReader 装饰者,允许查看下一条数据,真正的操作委托给代理 SynchronizedItemStreamReader 装饰者,增加同步功能,真正的操作委托给代理

ItemWriter

ItemWriter 负责输出数据,它有如下实现类。

实现类 说明 FlatFileItemWriter 将数据输出到文件 MultiResourceItemWriter 将数据输出到多个文件 StaxEventItemWriter 将数据输出到 XML 文件 JdbcBatchItemWriter 通过 SQL,将数据输出到数据库 HibernateItemWriter 通过 Hibernate,将数据输出到数据库 IbatisBatchItemWriter 通过 Ibatis,将数据输出到数据库 JpaItemWriter 通过 JPA,将数据输出到数据库 RepositoryItemWriter 通过 Repository,将数据输出到数据库 MongoItemWriter 将数据输出到 MongoDB Neo4jItemWriter 将数据输出到 Neo4j GemfireItemWriter 将数据输出到 GemFire SpELMappingGemfireItemWriter 将数据输出到 GemFire JmsItemWriter 将数据输出到 JMS AmqpItemWriter 将数据输出到 AMQP ListItemWriter 将数据输出到 List MimeMessageItemWriter 将数据通过 Email 发送 SimpleMailMessageItemWriter 将数据通过 Email 发送 ItemWriterAdapter 装饰者,真正的操作委托给代理 CompositeItemWriter 装饰者,将数据输出到多个 ItemWriter ClassifierCompositeItemWriter 装饰者,将数据输出到多个 ItemWriter PropertyExtractingDelegatingItemWriter 装饰者,允许调用自定义方法

ItemProcessor

ItemProcessor 负责转换、验证数据等,通常我们需要自己实现这个类,不过 Spring 也提供了如下实现类。

实现类 说明 PassThroughItemProcessor 不做任何转换 ScriptItemProcessor 调用脚本对数据处理 ValidatingItemProcessor 调用验证器验证数据 ItemProcessorAdapter 调用自定义方法对数据处理 CompositeItemProcessor 调用多个 ItemProcessor ClassifierCompositeItemProcessor 调用多个 ItemProcessor

batch:chunk

Spring Batch 处理流程是 ItemReader 读一条数据,ItemProcessor 对数据处理,然后放到 List 里,当 List 数量等 commit-interval 时,调用 ItemWriter 将数据输出。

更多参见:Spring Batch 精萃
– 声 明:转载请注明出处
– Last Updated on 2017-07-20
– Written by ShangBo on 2017-07-20
– End

原创粉丝点击