クラス SingleItemPeekableItemReader<T>
java.lang.ObjectSE
org.springframework.batch.item.support.SingleItemPeekableItemReader<T>
- 実装されたすべてのインターフェース:
ItemReader<T>
、ItemStream
、ItemStreamReader<T>
、PeekableItemReader<T>
public class SingleItemPeekableItemReader<T>
extends ObjectSE
implements ItemStreamReader<T>, PeekableItemReader<T>
ユーザーが 1 つのアイテムを先に覗くことができる PeekableItemReader
。peek()
を繰り返し呼び出すと同じ項目が返され、これが read()
から返される次の項目になります。
意図的にスレッドセーフではない: ピークしたスレッドの 1 つだけが次の read 呼び出しでその項目を取得するため、複数のスレッドでピークを尊重することはできません。
- 作成者:
- Dave Syer, Mahmoud Ben Hassine
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明void
close()
デリゲートがItemStream
の場合は、呼び出しを渡すだけです。それ以外の場合は、ピークキャッシュをリセットします。void
open
(ExecutionContext executionContext) デリゲートがItemStream
の場合は、呼び出しを渡すだけです。それ以外の場合は、ピークキャッシュをリセットします。peek()
次の項目を確認し、デリゲートがItemStream
の場合、状態がupdate(ExecutionContext)
への次の呼び出しのために保存されることを確認します。read()
デリゲートから次のアイテムを取得します(すでにピークされているかどうかに関係なく)。void
setDelegate
(ItemReader<T> delegate) デリゲートとして使用するアイテムリーダー。void
update
(ExecutionContext executionContext) キャッシュされたピークがある場合は、その時点から実行コンテキストの状態を取得します。
コンストラクターの詳細
SingleItemPeekableItemReader
public SingleItemPeekableItemReader()
メソッドの詳細
setDelegate
デリゲートとして使用するアイテムリーダー。アイテムはデリゲートから読み取られ、read()
で呼び出し元に渡されます。- パラメーター:
delegate
- 設定するデリゲート
read
デリゲートから次のアイテムを取得します(すでにピークされているかどうかに関係なく)。- 次で指定:
- インターフェース
ItemReader<T>
のread
- 戻り値:
- T 処理するアイテム、またはデータソースが使い果たされた場合は
null
- 例外:
ParseException
- 現在のレコードの解析に問題がある場合 (しかし、次のものはまだ有効かもしれません)NonTransientResourceException
- 基礎となるリソースに致命的な例外がある場合。この例外をスローした後、実装は後続の read 呼び出しから null を返すように努める必要があります。UnexpectedInputException
- 入力データに未分類の問題がある場合。潜在的に一時的であると想定します。後続の読み取り呼び出しは成功する可能性があります。ExceptionSE
- 特定のエラーがない場合。- 関連事項:
peek
次の項目を確認し、デリゲートがItemStream
の場合、状態がupdate(ExecutionContext)
への次の呼び出しのために保存されることを確認します。- 次で指定:
- インターフェース
PeekableItemReader<T>
のpeek
- 戻り値:
- 次のアイテム(ない場合は null)。
- 例外:
ExceptionSE
- 問題がある場合- 関連事項:
close
デリゲートがItemStream
の場合は、呼び出しを渡すだけです。それ以外の場合は、ピークキャッシュをリセットします。- 次で指定:
- インターフェース
ItemStream
のclose
- 例外:
ItemStreamException
- 問題がある場合- 関連事項:
open
デリゲートがItemStream
の場合は、呼び出しを渡すだけです。それ以外の場合は、ピークキャッシュをリセットします。- 次で指定:
- インターフェース
ItemStream
のopen
- パラメーター:
executionContext
- 現在のコンテキスト- 例外:
ItemStreamException
- 問題がある場合- 関連事項:
update
キャッシュされたピークがある場合は、その時点から実行コンテキストの状態を取得します。キャッシュされたピークがない場合は、デリゲートを直接呼び出します。- 次で指定:
- インターフェース
ItemStream
のupdate
- パラメーター:
executionContext
- 現在のコンテキスト- 例外:
ItemStreamException
- 問題がある場合- 関連事項: