附录 A:ItemReader 和 ItemWriters 列表

项目阅读器

表 1. 可用项目阅读器
项目阅读器 描述

AbstractItemCountingItemStreamItemReader

抽象基类,通过计算从ItemReader.

聚合项读取器

一个ItemReader提供一个列表作为它的项目,存储来自注入的对象,ItemReader直到它们准备好作为一个集合打包出来。此类必须用作ItemReader可以识别记录边界的自定义的包装器。AggregateItem自定义阅读器应通过返回响应true其查询方法的isHeader()和来标记记录的开始和结束isFooter()。请注意,此阅读器不是 Spring Batch 提供的阅读器库的一部分,而是在spring-batch-samples.

AmqpItemReader

给定一个 Spring AmqpTemplate,它提供同步接收方法。该receiveAndConvert()方法允许您接收 POJO 对象。

KafkaItemReader

ItemReader从 Apache Kafka 主题读取消息的。它可以配置为从同一主题的多个分区读取消息。此阅读器将消息偏移量存储在执行上下文中以支持重新启动功能。

平面文件项读取器

从平面文件中读取。包括ItemStreamSkippable功能。见FlatFileItemReader

HibernateCursorItemReader

基于 HQL 查询从游标读取。见 Cursor-based ItemReaders

HibernatePagingItemReader

从分页 HQL 查询中读取

ItemReaderAdapter

使任何类适应 ItemReader接口。

JdbcCursorItemReader

通过 JDBC 从数据库游标读取。见 Cursor-based ItemReaders

JdbcPagingItemReader

给定一条 SQL 语句,对行进行分页,这样就可以读取大型数据集而不会耗尽内存。

JmsItemReader

给定一个 SpringJmsOperations对象和一个要向其发送错误的 JMS 目标或目标名称,提供通过注入JmsOperations#receive() 方法接收的项目。

JpaPagingItemReader

给定一条 JPQL 语句,对行进行分页,这样就可以读取大型数据集而不会耗尽内存。

列表项读取器

提供列表中的项目,一次一个。

MongoItemReader

给定一个MongoOperations对象和一个基于 JSON 的 MongoDB 查询,提供从该MongoOperations#find()方法接收的项目。

Neo4jItemReader

给定一个Neo4jOperations对象和 Cyhper 查询的组件,项目作为 Neo4jOperations.query 方法的结果返回。

RepositoryItemReader

给定一个 Spring DataPagingAndSortingRepository对象、aSort和要执行的方法的名称,返回 Spring Data 存储库实现提供的项目。

StoredProcedureItemReader

从执行数据库存储过程产生的数据库游标中读取。看StoredProcedureItemReader

StaxEventItemReader

通过 StAX 读取。见StaxEventItemReader

JsonItemReader

从 Json 文档中读取项目。见JsonItemReader

物品作者

表 2. 可用项目编写器
物品作者 描述

AbstractItemStreamItemWriter

ItemStream结合和 ItemWriter接口的抽象基类 。

AmqpItemWriter

给定一个 Spring AmqpTemplate,它提供了一个同步send方法。该convertAndSend(Object) 方法允许您发送 POJO 对象。

CompositeItemWriter

将一个项目传递给write每个注入对象List的方法。ItemWriter

平面文件项目编写器

写入平面文件。包括ItemStream和可跳过的功能。见FlatFileItemWriter

GemfireItemWriter

使用一个GemfireOperations对象,项目可以根据删除标志的配置从 Gemfire 实例中写入或删除。

HibernateItemWriter

这个项目编写器是 Hibernate-session 感知的,并处理一些与事务相关的工作,非“休眠感知”项目编写器不需要知道,然后委托给另一个项目编写器进行实际编写。

ItemWriterAdapter

使任何类适应 ItemWriter接口。

JdbcBatchItemWriter

使用 中的批处理功能 PreparedStatement(如果可用),并且可以采取基本步骤在 flush.

JmsItemWriter

使用对象,通过该方法JmsOperations将项目写入默认队列。JmsOperations#convertAndSend()

JpaItemWriter

这个项目编写器是 JPA EntityManager-aware 并处理一些非“JPA-aware” ItemWriter不需要知道的与事务相关的工作,然后委托给另一个编写器进行实际编写。

KafkaItemWriter

使用对象,通过使用 a映射项目中的键KafkaTemplate的方法将项目写入默认主题 。还可以配置删除标志以将删除事件发送到主题。KafkaTemplate#sendDefault(Object, Object)Converter

MimeMessageItemWriter

使用 Spring 的JavaMailSender,类型的项目MimeMessage 作为邮件消息发送。

MongoItemWriter

给定一个MongoOperations对象,通过该MongoOperations.save(Object)方法写入项目。实际写入会延迟到事务提交之前的最后可能时刻。

Neo4jItemWriter

给定一个Neo4jOperations对象,项目通过方法持久化 或通过配置 save(Object)删除delete(Object)ItemWriter’s

PropertyExtractingDelegatingItemWriter

扩展动态AbstractMethodInvokingDelegator 创建参数。SpringBeanWrapper根据注入的字段名称数组,通过从要处理的项目中的字段中检索值(通过 a )来创建参数 。

RepositoryItemWriter

给定一个 Spring DataCrudRepository实现,通过配置中指定的方法保存项目。

StaxEventItemWriter

使用Marshaller实现将每个项目转换为 XML,然后使用 StAX 将其写入 XML 文件。

JsonFileItemWriter

使用JsonObjectMarshaller实现将每个项目转换为 Json,然后将其写入 Json 文件。


1. see XML Configuration