题目阅读器和写入实现

在本节中,我们将向你介绍那些还未接触过的读者和作家 前文已讨论。spring-doc.cadn.net.cn

装饰

在某些情况下,你可能需要在已有的行为基础上附加专门的行为ItemReaderItemWriter实现。 为此,春批提供以下开箱即用的装饰设计师:spring-doc.cadn.net.cn

同步项目流阅读器

当使用ItemReader不安全,Spring Batch 提供同步项目流阅读器装饰器,可以用来制作ItemReader安全。Spring Batch提供了同步项目流读者构建器构造 一个实例同步项目流阅读器.spring-doc.cadn.net.cn

例如,FlatFileItemReader安全线程,不能使用 一个多线程步骤。该读物器可装饰为同步项目流阅读器以便在多线程步骤中安全使用。这里有一个装饰的示例 这样的读者:spring-doc.cadn.net.cn

@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.spring-doc.cadn.net.cn

SingleItemPeekableItemReader的窥视方法不安全,因为它不会 可以在多个帖子中确认“窥视”。只有一根线索露出来 下一次通话时会让该项目阅读。

同步项目流写手

当使用ItemWriter不安全,Spring Batch 提供同步项目流写手装饰器,可以用来制作ItemWriter安全。Spring Batch提供了同步项目流写作者构建器构造 一个实例同步项目流写手.spring-doc.cadn.net.cn

例如,平板文件ItemWriter安全线程,不能使用 一个多线程步骤。这位作者可以被装饰为同步项目流写手以便在多线程步骤中安全使用。这里有一个装饰的示例 这样的作家:spring-doc.cadn.net.cn

@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.spring-doc.cadn.net.cn

分类器合成项目写作

分类器合成项目写作调用一组ItemWriter每个项目的实现,基于通过提供的路由器模式实现分类.如果所有代理都线程安全,则实现是线程安全的。Spring 批处理提供分类器、复合、项目、写作者构造一个分类器合成项目写作.spring-doc.cadn.net.cn

分类器复合项目处理器

分类器复合项目处理器ItemProcessor这叫做 收藏ItemProcessor基于路由器模式的实现 通过提供的分类.Spring Batch提供了分类器复合项目处理器构建器构造一个分类器复合项目处理器.spring-doc.cadn.net.cn

地图ItemWriter

地图ItemWriter改编ItemWriter接受某一类型物品到接受物品 通过在写入前对每个项目应用映射函数来处理其他类型的项目。 只要下游项目写入者是线程安全的,线程安全就有保障,且状态 管理层因此受到下游的尊重ItemStream物品编剧。spring-doc.cadn.net.cn

这个物品编入器在与合成项目作家,其中 下游写入者面前的映射函数可以是输入项的获取器,也可以是 复杂的变换逻辑,有效允许解构模式。spring-doc.cadn.net.cn

向读者和作者传递信息

Spring Batch 为常用消息系统提供以下读写器:spring-doc.cadn.net.cn

AmqpItemReader

AmqpItemReaderItemReader该系统使用Amqp模板接收或转换 交换消息。Spring Batch提供了AmqpItemReaderBuilder构造 一个实例AmqpItemReader.spring-doc.cadn.net.cn

AmqpItemWriter

AmqpItemWriterItemWriter该系统使用Amqp模板发送消息 AMQP交易所。如果名称未在 提供的Amqp模板.Spring Batch提供了AmqpItemWriterBuilder自 构造一个AmqpItemWriter.spring-doc.cadn.net.cn

JmsItemReader

JmsItemReaderItemReader对于使用Jms模板.模板 应有默认目的地,用于提供read()方法。Spring Batch提供了JmsItemReaderBuilder构造一个JmsItemReader.spring-doc.cadn.net.cn

JmsItemWriter

JmsItemWriterItemWriter对于使用Jms模板.模板 应该有一个默认的目的地,用于发送物品write(列表).Spring 批处理提供JmsItemWriterBuilder构造一个JmsItemWriter.spring-doc.cadn.net.cn

卡夫卡物品读者

卡夫卡物品读者ItemReader关于Apache Kafka的话题。它可以配置 读取同一主题多个分区的消息。它存储消息偏移量 在执行上下文中支持重启功能。Spring Batch提供了卡夫卡物品阅读构建器构造一个卡夫卡物品读者.spring-doc.cadn.net.cn

卡夫卡物品作家

卡夫卡物品作家ItemWriter对于使用 a 的 Apache Kafka卡夫卡模板自 将事件发送到默认主题。Spring Batch提供了卡夫卡ItemWriters构建器自 构造一个卡夫卡物品作家.spring-doc.cadn.net.cn

数据库读取器

Spring Batch 提供以下数据库阅读器:spring-doc.cadn.net.cn

MongoPagingItemReader

MongoPagingItemReaderItemReader通过使用 分页技巧。Spring Batch提供了MongoPagingItemReaderBuilder构造一个 实例MongoPagingItemReader.spring-doc.cadn.net.cn

MongoCursorItemReader

MongoCursorItemReaderItemReader通过使用 流媒体技巧。Spring Batch提供了MongoCursorItemReaderBuilder构造一个 实例MongoCursorItemReader.spring-doc.cadn.net.cn

RepositoryItemReader

RepositoryItemReaderItemReader通过使用 a 来读取记录分页与排序仓库.Spring Batch提供了RepositoryItemReaderBuilder自 构造一个RepositoryItemReader.spring-doc.cadn.net.cn

数据库编译员

Spring Batch 提供以下数据库编入服务:spring-doc.cadn.net.cn

MongoItemWriter

MongoItemWriterItemWriter写入 MongoDB 存储的实现 使用 Spring Data 的实现蒙古行动.Spring Batch提供了MongoItemWriterBuilder构造一个MongoItemWriter.spring-doc.cadn.net.cn

RepositoryItemWriter

RepositoryItemWriterItemWriter包裹器为原油仓库来自Spring 数据。Spring Batch提供了RepositoryItemWriterBuilder构造一个 的实例 这RepositoryItemWriter.spring-doc.cadn.net.cn

JdbcBatchItemWriter

JdbcBatchItemWriterItemWriter该系统使用了 的批处理特征NamedParameterJdbcTemplate执行所有提供的项目的一组语句。 Spring Batch提供了JdbcBatchItemWriterBuilder构造一个JdbcBatchItemWriter.spring-doc.cadn.net.cn

JpaItemWriter

JpaItemWriterItemWriter使用JPAEntityManagerFactory合并 任何不属于持久性上下文的实体。Spring Batch提供了JpaItemWriterBuilder构造一个JpaItemWriter.spring-doc.cadn.net.cn

专业读本

Spring Session提供以下专业读物:spring-doc.cadn.net.cn

Ldif读者

Ldif读者读取 LDIF(LDAP 数据交换格式)记录,来自资源, 解析它们,返回Ldap属性每个的对象执行。Spring Batch 提供LdifReader构建器构造一个Ldif读者.spring-doc.cadn.net.cn

地图Ldif阅读器

地图Ldif阅读器读取 LDIF(LDAP 数据交换格式)记录,来自资源解析它们,然后将每个 LDIF 记录映射到 POJO(普通 Java 对象)。 每次读取返回一个POJO。Spring Batch提供了地图LdifReader构建器构造 一个实例地图Ldif阅读器.spring-doc.cadn.net.cn

AvroItemReader

AvroItemReader从资源读取序列化的Avro数据。 每次读取返回由 Java 类或 Avro 模式指定的类型实例。 读取器可选择配置为嵌入 Avro 模式或不嵌入的输入。 Spring Batch提供了AvroItemReaderBuilder构造一个AvroItemReader.spring-doc.cadn.net.cn

专业作家

Spring Session提供以下专业写手:spring-doc.cadn.net.cn

简易邮件信息ItemWriter

简易邮件信息ItemWriterItemWriter可以发送邮件。它 将实际发送消息的任务委托给邮件发送器.Spring Batch 提供简易邮件信息物品写作者构造一个简易邮件信息ItemWriter.spring-doc.cadn.net.cn

AvroItemWriter

AvroItemWrite根据给定类型或模式,将 Java 对象序列化为可写资源。 写入者可以选择在输出中嵌入 Avro 模式,也可以选择不嵌入。 Spring Batch提供了AvroItemWriterBuilder构造一个AvroItemWriter.spring-doc.cadn.net.cn

专用处理器

Spring Batch 提供以下专用处理器:spring-doc.cadn.net.cn

脚本项目处理器

脚本项目处理器ItemProcessor该项目将当前项目传入处理 对所提供的脚本进行,处理器返回脚本的结果。Spring 批处理提供脚本项目处理器构建器构造一个脚本项目处理器.spring-doc.cadn.net.cn