# 附录 A:条目阅读器和条目编写器列表
# 条目阅读器
Item Reader | 说明 |
---|---|
AbstractItemCountingItemStreamItemReader | 抽象基类,通过计算从 和 ItemReader 返回的项数,提供基本的重启功能。 |
AggregateItemReader | 一个ItemReader 提供一个列表作为其项,存储来自注入的 ItemReader 的对象,直到它们准备好作为集合打包。必须将这个类 用作自定义 ItemReader 的包装器,该包装器可以标识记录的边界。自定义读取器应该通过返回一个 AggregateItem 来标记记录的开始和结束,它将对其 true 查询方法和 isFooter() 进行响应。请注意,这个阅读器不是 Spring 批 提供的阅读器库的一部分,而是作为 spring-batch-samples 中的示例给出的。 |
AmqpItemReader | 给定一个 Spring AmqpTemplate ,它提供了同步接收方法。 receiveAndConvert() 方法允许你接收 POJO 对象。 |
KafkaItemReader | 从 Apache Kafka 主题读取消息的ItemReader 。可以将其配置为从同一主题的多个分区读取消息。 此阅读器在执行上下文中存储消息偏移量,以支持重新启动功能。 |
FlatFileItemReader | 从平面文件读取。包括ItemStream 和Skippable 功能。参见[FlatFileItemReader ]。 |
HibernateCursorItemReader | 基于 HQL 查询从游标读取。参见[Cursor-based ItemReaders ]。 |
HibernatePagingItemReader | 从分页的 HQL 查询中读取 |
ItemReaderAdapter | 将任何类调整为ItemReader 接口。 |
JdbcCursorItemReader | 通过 JDBC 从数据库游标读取数据。参见[Cursor-based ItemReaders ]。 |
JdbcPagingItemReader | 给定一个 SQL 语句,在行中进行分页 ,这样就可以在不耗尽 内存的情况下读取大型数据集。 |
JmsItemReader | 给定一个 Spring JmsOperations 对象和一个 JMS向其发送错误的目的地或目的地名称,提供通过注入的项 接收到的 JmsOperations#receive() 方法。 |
JpaPagingItemReader | 给定一个 JPQL 语句,通过 行进行分页,这样就可以在不耗尽 内存的情况下读取大型数据集。 |
ListItemReader | 提供列表中的项,在 时间提供一个列表。 |
MongoItemReader | 给定一个MongoOperations 对象和一个基于 JSON 的 MongoDB查询,提供从 MongoOperations#find() 方法接收的项。 |
Neo4jItemReader | 给定一个Neo4jOperations 对象和一个Cyhper 查询的组件,返回的项是 NEO4jOperations.query 方法的结果。 |
RepositoryItemReader | 给定一个 Spring dataPagingAndSortingRepository 对象,a Sort ,以及要执行的方法的名称,返回由Spring 数据存储库实现的项。 |
StoredProcedureItemReader | 从执行数据库存储过程的 所产生的数据库游标读取数据。参见[ StoredProcedureItemReader ] |
StaxEventItemReader | 通过 stax 进行读取,参见[StaxEventItemReader ]。 |
JsonItemReader | 从 JSON 文档中读取项目。参见[JsonItemReader ]。 |
# 条目编写者
Item Writer | 说明 |
---|---|
AbstractItemStreamItemWriter | 组合ItemStream 和ItemWriter 接口的抽象基类。 |
AmqpItemWriter | 给定 Spring AmqpTemplate ,它为同步send 方法提供了。 convertAndSend(Object) 方法允许你发送 POJO 对象。 |
CompositeItemWriter | 在注入List 的ItemWriter 对象中,将一个项传递给每个的 write 方法。 |
FlatFileItemWriter | 写入平面文件。包括ItemStream 和可跳过的功能。参见[ FlatFileItemWriter ]。 |
GemfireItemWriter | 使用GemfireOperations 对象,可以根据 delete标志的配置从 Gemfire 实例中写入 项。 |
HibernateItemWriter | 这个条目编写器 Hibernate-会话知道 ,并处理一些与事务相关的工作,而非“ Hibernate-知道” 的条目编写器不需要了解这些工作,然后将 委托给另一个条目编写器来进行实际的写作。 |
ItemWriterAdapter | 将任何类调整为ItemWriter 接口。 |
JdbcBatchItemWriter | 使用来自PreparedStatement (如果可用)的批处理功能,并且可以在 flush 期间采取基本步骤来定位故障。 |
JmsItemWriter | 使用JmsOperations 对象,通过JmsOperations#convertAndSend() 方法将项写入默认队列。 |
JpaItemWriter | 这个条目编写器是 JPA EntityManager-aware 的 ,并处理一些与事务相关的工作,而非“ JPA-aware” ItemWriter 不需要了解这些工作,并且然后将其委托给另一个编写器来进行实际的编写。 |
KafkaItemWriter | 使用KafkaTemplate 对象,通过KafkaTemplate#sendDefault(Object, Object) 方法将项写入默认主题,并使用Converter 来映射该项的键。还可以配置一个 delete 标志,以将 delete 事件发送到该主题。 |
MimeMessageItemWriter | 使用 Spring 的JavaMailSender ,类型MimeMessage 的项作为邮件发送。 |
MongoItemWriter | 给定一个MongoOperations 对象,通过MongoOperations.save(Object) 方法写项目。实际的写入被延迟 ,直到事务提交之前的最后一个可能时刻。 |
Neo4jItemWriter | 给定一个Neo4jOperations 对象,项目将通过save(Object) 方法持久化,或者根据ItemWriter’s 配置通过delete(Object) 方法删除。 |
PropertyExtractingDelegatingItemWriter | 扩展AbstractMethodInvokingDelegator 动态创建参数。参数是通过从要处理的项中的字段(通过SpringBeanWrapper )检索中的值来创建的,基于注入的字段 名称数组。 |
RepositoryItemWriter | 给定一个 Spring 数据CrudRepository 的实现,项是通过在配置中指定的方法保存的。 |
StaxEventItemWriter | 使用Marshaller 实现将每个项转换为 XML,然后使用 stax 将其写入 XML 文件。 |
jsonfileitemwriter | 使用JsonObjectMarshaller 实现将每个项转换为 JSON,然后将其写入 JSON 文件。 |