ItemReader および ItemWriter のリスト

アイテムリーダー

表 1: 利用可能なアイテムリーダー
アイテムリーダー 説明 スレッドセーフ

AbstractItemStreamItemReader

ItemStream および ItemReader インターフェースを組み合わせた抽象基本クラス。

はい

AbstractItemCountingItemStreamItemReader

ItemReader から返されたアイテムの数をカウントすることにより、基本的な再起動機能を提供する抽象基本クラス。

いいえ

AbstractPagingItemReader

基本的なページング機能を提供する抽象基本クラス

いいえ

AbstractPaginatedDataItemReader

Spring Data のページ分割機能に基づいた基本的なページング機能を提供する抽象基本クラス

いいえ

AggregateItemReader

リストをアイテムとして提供する ItemReader で、注入された ItemReader からオブジェクトをコレクションとしてパックする準備ができるまで格納します。このクラスは、レコード境界を識別できるカスタム ItemReader のラッパーとして使用する必要があります。カスタムリーダーは、クエリメソッド (isHeader() および isFooter()) に対して true に応答する AggregateItem を返すことによって、レコードの開始と終了をマークする必要があります。このリーダーは、Spring Batch によって提供されるリーダーのライブラリの一部ではなく、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 を介してデータベースカーソルから読み取ります。“カーソルベースの ItemReader” を参照してください。

いいえ

JdbcPagingItemReader

SQL ステートメントを指定すると、行をページングして、メモリを使い果たすことなく大きなデータセットを読み取ることができます。

はい

JmsItemReader

Spring JmsOperations オブジェクトと、エラーの送信先となる JMS 宛先または宛先名を指定すると、注入された JmsOperations#receive() メソッドによって受信された項目が提供されます。

はい

JpaCursorItemReader

JPQL クエリを実行し、返された結果セットを反復処理します。

いいえ

JpaPagingItemReader

JPQL クエリを指定すると、メモリ不足になることなく大きなデータセットを読み取ることができるように、行をページングします。

はい

ListItemReader

リストから 1 つずつアイテムを提供します。

いいえ

MongoItemReader

MongoOperations オブジェクトと JSON ベースの MongoDB クエリを指定すると、MongoOperations#find() メソッドから受け取ったアイテムを提供します。

はい

Neo4jItemReader

Neo4jOperations オブジェクトと Cyhper クエリのコンポーネントを指定すると、Neo4jOperations.query メソッドの結果としてアイテムが返されます。

はい

RepositoryItemReader

Spring Data PagingAndSortingRepository オブジェクト、Sort、実行するメソッドの名前を指定すると、Spring Data リポジトリ実装によって提供されるアイテムを返します。

はい

StoredProcedureItemReader

データベースストアドプロシージャの実行から生じるデータベースカーソルから読み取ります。StoredProcedureItemReader を参照

いいえ

StaxEventItemReader

StAX を介して読み取ります。StaxEventItemReader を参照してください。

いいえ

JsonItemReader

Json ドキュメントからアイテムを読み取ります。JsonItemReader を参照してください。

いいえ

AvroItemReader

直列化された Avro オブジェクトを含むリソースから項目を読み取ります。

いいえ

LdifReader

LDIF リソースから項目を読み取り、LdapAttributes として返します。

いいえ

MappingLdifReader

LDIF リソースから項目を読み取り、RecordMapper を使用して項目をドメインオブジェクトにマップします。

いいえ

アイテムライター

表 2: 利用可能なアイテムライター
アイテムライター 説明 スレッドセーフ

AbstractItemStreamItemWriter

`ItemStream` インターフェースと `ItemWriter` インターフェースを組み合わせた抽象基本クラス。

はい

AmqpItemWriter

Spring AmqpTemplate を指定すると、同期 send メソッドが提供されます。convertAndSend(Object) メソッドを使用すると、POJO オブジェクトを送信できます。

はい

CompositeItemWriter

注入された ItemWriter オブジェクトの List 内の各アイテムの write メソッドにアイテムを渡します。

はい

FlatFileItemWriter

フラットファイルに書き込みます。ItemStream およびスキップ可能機能が含まれています。“FlatFileItemWriter” を参照してください。

いいえ

HibernateItemWriter

このアイテムライターは Hibernate セッションに対応しており、「休止状態に対応していない」アイテムライターが知る必要のないトランザクション関連の作業を処理し、実際の書き込みを別のアイテムライターに委譲します。

はい

ItemWriterAdapter

ItemWriter インターフェースにクラスを適合させます。

はい

JdbcBatchItemWriter

PreparedStatement のバッチ機能を使用し(使用可能な場合)、flush の間に障害を見つけるための基本的な手順を実行できます。

はい

JmsItemWriter

JmsOperations オブジェクトを使用して、アイテムは JmsOperations#convertAndSend() メソッドを介してデフォルトキューに書き込まれます。

はい

JpaItemWriter

このアイテムライターは JPA EntityManager -aware であり、「JPA を認識しない」 ItemWriter が知る必要のないトランザクション関連の作業を処理し、実際の書き込みを別のライターに委譲します。

はい

KafkaItemWriter

KafkaTemplate オブジェクトを使用すると、Converter を使用してアイテムからキーをマップすることにより、KafkaTemplate#sendDefault(Object, Object) メソッドによってアイテムがデフォルトのトピックに書き込まれます。トピックに削除イベントを送信するように削除フラグを構成することもできます。

いいえ

MimeMessageItemWriter

Spring の JavaMailSender を使用すると、型 MimeMessage のアイテムがメールメッセージとして送信されます。

はい

MongoItemWriter

MongoOperations オブジェクトを指定すると、アイテムは MongoOperations.save(Object) メソッドを介して書き込まれます。実際の書き込みは、トランザクションがコミットされる前の最後の瞬間まで遅延します。

はい

Neo4jItemWriter

Neo4jOperations オブジェクトを指定すると、項目は save(Object) メソッドを介して永続化されるか、ItemWriter’s 構成の指示に従って delete(Object) を介して削除されます。

はい

PropertyExtractingDelegatingItemWriter

AbstractMethodInvokingDelegator を拡張し、その場で引数を作成します。引数は、フィールド名の挿入された配列に基づいて、処理されるアイテムのフィールドから値を取得することによって(SpringBeanWrapper を介して)作成されます。

はい

RepositoryItemWriter

Spring Data CrudRepository 実装の場合、アイテムは構成で指定された方法で保存されます。

はい

StaxEventItemWriter

Marshaller 実装を使用して各項目を XML に変換し、StAX を使用して XML ファイルに書き込みます。

いいえ

JsonFileItemWriter

JsonObjectMarshaller 実装を使用して各項目を Json に変換し、Json ファイルに書き込みます。

いいえ

AvroItemWriter

Avro を使用してデータを WritableResource に直列化します

いいえ

ListItemWriter

List に項目を書き込む項目ライター。

いいえ