ItemReaders 和 ItemWriters 列表

Item 读取器

表 1. 可用的 Item 读取器
Item 读取器 描述 线程安全

AbstractItemStreamItemReader

结合了 ItemStreamItemReader 接口的抽象基类。

AbstractItemCountingItemStreamItemReader

通过计算 ItemReader 返回的项数来提供基本重启功能的抽象基类。

AbstractPagingItemReader

提供基本分页功能的抽象基类

AbstractPaginatedDataItemReader

基于 Spring Data 分页功能提供基本分页功能的抽象基类

AggregateItemReader

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

AmqpItemReader

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

KafkaItemReader

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

FlatFileItemReader

从平面文件读取。包括 ItemStreamSkippable 功能。请参阅 “FlatFileItemReader”

ItemReaderAdapter

将任何类适配到 ItemReader 接口。

JdbcCursorItemReader

通过 JDBC 从数据库游标读取。请参阅 “基于游标的 ItemReaders”

JdbcPagingItemReader

给定一个 SQL 语句,分页浏览行,以便在不耗尽内存的情况下读取大型数据集。

JmsItemReader

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

JpaCursorItemReader

执行 JPQL 查询并迭代返回的结果集

JpaPagingItemReader

给定一个 JPQL 查询,分页浏览行,以便在不耗尽内存的情况下读取大型数据集。

ListItemReader

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

MongoPagingItemReader

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

MongoCursorItemReader

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

RepositoryItemReader

给定一个 Spring Data PagingAndSortingRepository 对象,一个 Sort,以及要执行的方法名称,返回由 Spring Data 存储库实现提供的项。

StoredProcedureItemReader

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

StaxEventItemReader

通过 StAX 读取。请参阅 StaxEventItemReader

JsonItemReader

从 Json 文档读取项。请参阅 JsonItemReader

AvroItemReader

从包含序列化 Avro 对象的资源中读取项。

LdifReader

从 LDIF 资源读取项并将其作为 LdapAttributes 返回

MappingLdifReader

从 LDIF 资源读取项并使用 RecordMapper 将它们映射到域对象

Item 写入器

表 2. 可用的 Item 写入器
Item 写入器 描述 线程安全

AbstractItemStreamItemWriter

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

AmqpItemWriter

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

CompositeItemWriter

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

FlatFileItemWriter

写入平面文件。包括 ItemStream 和 Skippable 功能。请参阅 “FlatFileItemWriter”

ItemWriterAdapter

将任何类适配到 ItemWriter 接口。

JdbcBatchItemWriter

使用 PreparedStatement 的批处理功能(如果可用),并且可以采取基本步骤在 flush 期间定位故障。

JmsItemWriter

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

JpaItemWriter

此项写入器支持 JPA EntityManager 并处理一些与事务相关的工作,这些工作是“非 JPA 感知”的 ItemWriter 不需要知道的,然后委托给另一个写入器执行实际写入。

KafkaItemWriter

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

MimeMessageItemWriter

使用 Spring 的 JavaMailSenderMimeMessage 类型的项作为邮件消息发送。

MongoItemWriter

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

PropertyExtractingDelegatingItemWriter

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

RepositoryItemWriter

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

StaxEventItemWriter

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

JsonFileItemWriter

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

AvroItemWriter

使用 Avro 将数据序列化为 WritableResource

ListItemWriter

将项写入 List 的项写入器。

© . This site is unofficial and not affiliated with VMware.