题目阅读器和写入实现
在本节中,我们将向你介绍那些还未接触过的读者和作家 前文已讨论。
装饰
在某些情况下,你可能需要在已有的行为基础上附加专门的行为ItemReader或ItemWriter实现。
为此,春批提供以下开箱即用的装饰设计师:
同步项目流阅读器
当使用ItemReader不安全,Spring Batch 提供同步项目流阅读器装饰器,可以用来制作ItemReader安全。Spring Batch提供了同步项目流读者构建器构造
一个实例同步项目流阅读器.
例如,FlatFileItemReader不安全线程,不能使用
一个多线程步骤。该读物器可装饰为同步项目流阅读器以便在多线程步骤中安全使用。这里有一个装饰的示例
这样的读者:
@Bean
public SynchronizedItemStreamReader<Person> itemReader() {
FlatFileItemReader<Person> flatFileItemReader = new FlatFileItemReaderBuilder<Person>()
// set reader properties
.build();
return new SynchronizedItemStreamReaderBuilder<Person>()
.delegate(flatFileItemReader)
.build();
}
单件可窥视ItemReader
Spring Batch包含一个装饰器,可以为ItemReader.这张照片
方法让用户能够提前查看一个项目。多次呼叫窥视,结果都一样
该项目,这是下一个从该项目返回的读方法。Spring Batch提供了单件物品可窥视ItemReader构建器构造一个单件可窥视ItemReader.
| SingleItemPeekableItemReader的窥视方法不安全,因为它不会 可以在多个帖子中确认“窥视”。只有一根线索露出来 下一次通话时会让该项目阅读。 |
同步项目流写手
当使用ItemWriter不安全,Spring Batch 提供同步项目流写手装饰器,可以用来制作ItemWriter安全。Spring Batch提供了同步项目流写作者构建器构造
一个实例同步项目流写手.
例如,平板文件ItemWriter不安全线程,不能使用
一个多线程步骤。这位作者可以被装饰为同步项目流写手以便在多线程步骤中安全使用。这里有一个装饰的示例
这样的作家:
@Bean
public SynchronizedItemStreamWriter<Person> itemWriter() {
FlatFileItemWriter<Person> flatFileItemWriter = new FlatFileItemWriterBuilder<Person>()
// set writer properties
.build();
return new SynchronizedItemStreamWriterBuilder<Person>()
.delegate(flatFileItemWriter)
.build();
}
多资源ItemWriter
这多资源ItemWriter包裹 a资源意识项目写作者项目流并创造了新的
当当前资源中写入的项目数量超过itemCountLimitPerResource.Spring Batch提供了多资源物品编写者自
构造一个多资源ItemWriter.
分类器合成项目写作
这分类器合成项目写作调用一组ItemWriter每个项目的实现,基于通过提供的路由器模式实现分类.如果所有代理都线程安全,则实现是线程安全的。Spring
批处理提供分类器、复合、项目、写作者构造一个分类器合成项目写作.
向读者和作者传递信息
Spring Batch 为常用消息系统提供以下读写器:
AmqpItemReader
这AmqpItemReader是ItemReader该系统使用Amqp模板接收或转换
交换消息。Spring Batch提供了AmqpItemReaderBuilder构造
一个实例AmqpItemReader.
AmqpItemWriter
这AmqpItemWriter是ItemWriter该系统使用Amqp模板发送消息
AMQP交易所。如果名称未在
提供的Amqp模板.Spring Batch提供了AmqpItemWriterBuilder自
构造一个AmqpItemWriter.
JmsItemReader
这JmsItemReader是ItemReader对于使用Jms模板.模板
应有默认目的地,用于提供read()方法。Spring Batch提供了JmsItemReaderBuilder构造一个JmsItemReader.
JmsItemWriter
这JmsItemWriter是ItemWriter对于使用Jms模板.模板
应该有一个默认的目的地,用于发送物品write(列表).Spring
批处理提供JmsItemWriterBuilder构造一个JmsItemWriter.
数据库读取器
Spring Batch 提供以下数据库阅读器:
MongoPagingItemReader
这MongoPagingItemReader是ItemReader通过使用
分页技巧。Spring Batch提供了MongoPagingItemReaderBuilder构造一个
实例MongoPagingItemReader.
数据库编译员
Spring Batch 提供以下数据库编入服务:
MongoItemWriter
这MongoItemWriter是ItemWriter写入 MongoDB 存储的实现
使用 Spring Data 的实现蒙古行动.Spring Batch提供了MongoItemWriterBuilder构造一个MongoItemWriter.
RepositoryItemWriter
这RepositoryItemWriter是ItemWriter包裹器为原油仓库来自Spring
数据。Spring Batch提供了RepositoryItemWriterBuilder构造一个 的实例
这RepositoryItemWriter.