クラス SynchronizedItemStreamReader<T>
java.lang.ObjectSE
org.springframework.batch.item.support.SynchronizedItemStreamReader<T>
- 型パラメーター:
T
- 読み込まれるオブジェクトの型
- 実装されているすべてのインターフェース:
ItemReader<T>
、ItemStream
、ItemStreamReader<T>
、org.springframework.beans.factory.InitializingBean
public class SynchronizedItemStreamReader<T>
extends ObjectSE
implements ItemStreamReader<T>, org.springframework.beans.factory.InitializingBean
これは、同期された ItemReader.read() メソッドを使用した単純な ItemStreamReader デコレータです。これにより、非スレッドセーフの ItemReader がスレッドセーフになります。
ただし、アイテムの再処理に問題がある場合、これを使用するとジョブを再開できなくなります。
このクラスの背景となる動機は次のとおりです: https://stackoverflow.com/a/20002493/2910265
- 導入:
- 3.0.4
- 作成者:
- Matthew Ouyang, Mahmoud Ben Hassine
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明void
void
close()
ストリームの動作にリソースが必要な場合、ここで破棄する必要があります。void
open
(ExecutionContext executionContext) 提供されたExecutionContext
のストリームを開きます。read()
これは、delegate
の読み取りメソッドに委譲しますvoid
setDelegate
(ItemStreamReader<T> delegate) void
update
(ExecutionContext executionContext) オープン中に提供された実行コンテキストが保存されようとしていることを示します。
コンストラクターの詳細
SynchronizedItemStreamReader
public SynchronizedItemStreamReader()
メソッドの詳細
setDelegate
read
これは、delegate
の読み取りメソッドに委譲します- 次で指定:
- インターフェース
ItemReader<T>
のread
- 戻り値:
- T 処理するアイテム、またはデータソースが使い果たされた場合は
null
- 例外:
ParseException
- 現在のレコードの解析に問題がある場合 (しかし、次のものはまだ有効かもしれません)NonTransientResourceException
- 基礎となるリソースに致命的な例外がある場合。この例外をスローした後、実装は後続の read 呼び出しから null を返すように努める必要があります。UnexpectedInputException
- 入力データに未分類の問題がある場合。潜在的に一時的であると想定します。後続の読み取り呼び出しは成功する可能性があります。ExceptionSE
- 特定のエラーがない場合。
close
public void close()インターフェースからコピーされた説明:ItemStream
ストリームの動作にリソースが必要な場合、ここで破棄する必要があります。このメソッドが呼び出されると、他のすべてのメソッド(open を除く)は例外をスローする場合があります。- 次で指定:
- インターフェース
ItemStream
のclose
open
インターフェースからコピーされた説明:ItemStream
提供されたExecutionContext
のストリームを開きます。- 次で指定:
- インターフェース
ItemStream
のopen
- パラメーター:
executionContext
- 現在のステップのExecutionContext
。再起動時のステップの最後の実行からの executionContext になります。
update
インターフェースからコピーされた説明:ItemStream
オープン中に提供された実行コンテキストが保存されようとしていることを示します。状態が残っているが、コンテキストに入れられていない場合は、ここに追加する必要があります。- 次で指定:
- インターフェース
ItemStream
のupdate
- パラメーター:
executionContext
- 更新される
afterPropertiesSet
- 次で指定:
- インターフェース
org.springframework.beans.factory.InitializingBean
のafterPropertiesSet
- 例外:
ExceptionSE