项目阅读器
表 1.可用的项目阅读器
项目读取器
描述
AbstractItemCountingItemStreamItemReader
提供基本 通过计算从中返回的项目数来重新启动功能 奥恩。ItemReader
AggregateItemReader
提供列表作为其 项目,存储从注入到它们的对象 准备打包为一个集合。必须使用此类 作为可以标识记录的自定义的包装器 边界。自定义读取器应标记 的开头和结尾 通过返回响应其 查询方法 ( 和 )。请注意,此阅读器 不是Spring Batch提供的阅读器库的一部分 但在 中作为示例给出。ItemReaderItemReaderItemReaderAggregateItemtrueisHeader()isFooter()spring-batch-samples
AmqpItemReader
给定一个弹簧,它提供 同步接收方法。方法 允许您接收 POJO 对象。AmqpTemplatereceiveAndConvert()
KafkaItemReader
从 Apache Kafka 主题读取消息。 它可以配置为从同一主题的多个分区读取消息。 此读取器将消息偏移存储在执行上下文中以支持重新启动功能。ItemReader
FlatFileItemReader
从平面文件中读取。包含和功能。请参阅“FlatFileItemReader”。ItemStreamSkippable
HibernateCursorItemReader
基于 HQL 查询从游标读取。请参阅基于游标的 ItemReaders。
HibernatePagingItemReader
从分页的 HQL 查询读取。
ItemReaderAdapter
使任何类适应接口。ItemReader
JdbcCursorItemReader
通过 JDBC 从数据库游标读取。请参阅“基于游标的条目读取器”。
JdbcPagingItemReader
给定一个 SQL 语句,分页浏览行, 这样就可以在不耗尽的情况下读取大型数据集 记忆。
JmsItemReader
给定一个 Spring 对象和一个 JMS 要向其发送错误的目标或目标名称,提供项目 通过注射方法接收。JmsOperationsJmsOperations#receive()
JpaPagingItemReader
给定 JPQL 语句,页面通过 行,以便可以读取大型数据集而不会用完 记忆。
ListItemReader
提供列表中的项目,一个 时间。
MongoItemReader
给定一个对象和一个基于 JSON 的 MongoDB 查询,提供从方法接收的项。MongoOperationsMongoOperations#find()
Neo4jItemReader
给定一个对象和 Cyhper 查询,项目作为 Neo4jOperations.query 的结果返回 方法。Neo4jOperations
RepositoryItemReader
给定一个 Spring 数据对象, a 和要执行的方法的名称,返回由 Spring 数据存储库实现。PagingAndSortingRepositorySort
StoredProcedureItemReader
从数据库游标中读取由 执行数据库存储过程。请参阅存储过程项读取器
StaxEventItemReader
通过 StAX 读取。请参阅 StaxEventItemReader。
JsonItemReader
从 Json 文档中读取项目。请参阅 JsonItemReader。
条目编写器
表 2.可用的条目编写器
条目编写器
描述
AbstractItemStreamItemWriter
组合 和 接口的抽象基类。ItemStreamItemWriter
AmqpItemWriter
给定一个弹簧,提供 对于同步方法。该方法允许您发送 POJO 对象。AmqpTemplatesendconvertAndSend(Object)
CompositeItemWriter
将项传递给每个项的方法 在注入的对象中。writeListItemWriter
FlatFileItemWriter
写入平面文件。包括和 可跳过的功能。请参阅“FlatFileItemWriter”。ItemStream
HibernateItemWriter
此项目编写器可识别休眠会话 并处理一些非“休眠感知”的事务相关工作 项目编写者不需要知道然后委托 给另一个项目编写器进行实际写作。
ItemWriterAdapter
使任何类适应接口。ItemWriter
JdbcBatchItemWriter
使用来自 的批处理功能(如果可用),并且可以 采取基本步骤以查找 期间的故障。PreparedStatementflush
JmsItemWriter
使用对象写入项目 通过该方法到默认队列。JmsOperationsJmsOperations#convertAndSend()
JpaItemWriter
此项目编写器可识别 JPA 并处理一些非“JPA 意识”不需要知道的与事务相关的工作,以及 然后委托另一位作家进行实际写作。EntityManagerItemWriter
KafkaItemWriter
使用对象,通过使用 从项目映射键,通过该方法将项写入默认主题。 还可以配置删除标志以将删除事件发送到主题。KafkaTemplateKafkaTemplate#sendDefault(Object, Object)Converter
MimeMessageItemWriter
使用 Spring 的 ,类型的项目作为邮件发送。JavaMailSenderMimeMessage
MongoItemWriter
给定一个对象,将写入项目 通过方法。实际写入延迟 直到事务提交前的最后一刻。MongoOperationsMongoOperations.save(Object)
Neo4jItemWriter
给定一个对象,项目通过方法持久化或通过 删除,如配置所指示的那样Neo4jOperationssave(Object)delete(Object)ItemWriter’s
PropertyExtractingDelegatingItemWriter
扩展动态创建参数。参数是通过检索创建的 要处理的项目中的字段的值(通过 ),基于注入的字段数组 名字。AbstractMethodInvokingDelegatorSpringBeanWrapper
RepositoryItemWriter
给定一个 Spring Data 实现, 项目通过配置中指定的方法保存。CrudRepository
StaxEventItemWriter
使用实现来 将每个项目转换为 XML,然后使用 斯塔克斯。Marshaller
JsonFileItemWriter
使用实现来 将每个项目转换为 Json,然后将其写入 Json 文件。JsonObjectMarshaller