クラス AbstractItemCountingItemStreamItemReader<T>
java.lang.ObjectSE
org.springframework.batch.item.ItemStreamSupport
org.springframework.batch.item.support.AbstractItemStreamItemReader<T>
org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader<T>
- 実装されたすべてのインターフェース:
ItemReader<T>
、ItemStream
、ItemStreamReader<T>
- 既知の直属サブクラス
AbstractCursorItemReader
、AbstractPaginatedDataItemReader
、AbstractPagingItemReader
、AvroItemReader
、FlatFileItemReader
、JpaCursorItemReader
、JsonItemReader
、LdifReader
、MappingLdifReader
、MongoCursorItemReader
、RepositoryItemReader
、StaxEventItemReader
public abstract class AbstractItemCountingItemStreamItemReader<T>
extends AbstractItemStreamItemReader<T>
ExecutionContext
にアイテム数を格納することによる再起動をサポートする ItemReader
の抽象スーパークラス(したがって、実行間でアイテムの順序を保持する必要があります)。サブクラスは本質的にスレッドセーフではありません。
- 作成者:
- Robert Kasanicky, Glenn Renfro, Mahmoud Ben Hassine
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明void
close()
ストリームの動作にリソースが必要な場合、ここで破棄する必要があります。protected abstract void
doClose()
doOpen()
で開いたリソースを閉じます。protected abstract void
doOpen()
入力の読み取りを開始するために必要なリソースを開きます。protected abstract T
doRead()
入力から次の項目を読み取ります。int
現在のアイテム数を返します。boolean
再起動のために内部状態を保存するかどうかを決定するフラグ。protected void
jumpToItem
(int itemIndex) 指定されたアイテムインデックスに移動します。void
open
(ExecutionContext executionContext) 提供されたExecutionContext
のストリームを開きます。read()
入力データの一部を読み取り、次のデータに進みます。void
setCurrentItemCount
(int count) 読み取りを開始するアイテムのインデックス。void
setMaxItemCount
(int count) 読み込まれるアイテムの最大インデックス。void
setSaveState
(boolean saveState) ExecutionContext
の内部データを保存するかどうかを決定するフラグを設定します。void
update
(ExecutionContext executionContext) オープン中に提供された実行コンテキストが保存されようとしていることを示します。クラス org.springframework.batch.item.ItemStreamSupport から継承されたメソッド
getExecutionContextKey, getName, setExecutionContextName, setName
コンストラクターの詳細
AbstractItemCountingItemStreamItemReader
public AbstractItemCountingItemStreamItemReader()
メソッドの詳細
doRead
入力から次の項目を読み取ります。- 戻り値:
- データソースが使い果たされた場合、アイテムまたは
null
- 例外:
ExceptionSE
- サブクラスがフレームワークによる解釈のためにチェック済み例外をスローできるようにします
doOpen
入力の読み取りを開始するために必要なリソースを開きます。- 例外:
ExceptionSE
- サブクラスがフレームワークによる解釈のためにチェック済み例外をスローできるようにします
doClose
doOpen()
で開いたリソースを閉じます。- 例外:
ExceptionSE
- サブクラスがフレームワークによる解釈のためにチェック済み例外をスローできるようにします
jumpToItem
指定されたアイテムインデックスに移動します。doRead()
を使用して入力を再読み取りするよりも効率的に特定のインデックスに移動する方法がある場合、サブクラスはこのメソッドをオーバーライドする必要があります。- パラメーター:
itemIndex
- ジャンプするアイテムのインデックス(0 ベース)。- 例外:
ExceptionSE
- サブクラスがフレームワークによる解釈のためにチェック済み例外をスローできるようにします
read
インターフェースからコピーされた説明:ItemReader
入力データの一部を読み取り、次のデータに進みます。実装は、入力データセットの最後にnull
を返す必要があります。トランザクション設定では、最初の呼び出しがロールバックされたトランザクション内にあった場合、呼び出し元は連続した呼び出し(またはそれ以外)から同じアイテムを 2 回取得する場合があります。- 戻り値:
- T 処理するアイテム、またはデータソースが使い果たされた場合は
null
- 例外:
ParseException
- 現在のレコードの解析に問題がある場合 (しかし、次のものはまだ有効かもしれません)NonTransientResourceException
- 基礎となるリソースに致命的な例外がある場合。この例外をスローした後、実装は後続の read 呼び出しから null を返すように努める必要があります。UnexpectedInputException
- 入力データに未分類の問題がある場合。潜在的に一時的であると想定します。後続の読み取り呼び出しは成功する可能性があります。ExceptionSE
- 特定のエラーがない場合。
getCurrentItemCount
public int getCurrentItemCount()現在のアイテム数を返します。- 戻り値:
- 現在のアイテム数
- 導入:
- 5.1
setCurrentItemCount
public void setCurrentItemCount(int count) 読み取りを開始するアイテムのインデックス。ExecutionContext
にキー[name].read.count
が含まれている場合([name]
はこのコンポーネントの名前です)、ExecutionContext
からの値が優先的に使用されます。- パラメーター:
count
- 現在のアイテム数の値- 関連事項:
setMaxItemCount
public void setMaxItemCount(int count) 読み込まれるアイテムの最大インデックス。ExecutionContext
にキー[name].read.count.max
が含まれている場合([name]
はこのコンポーネントの名前です)、ExecutionContext
からの値が優先的に使用されます。- パラメーター:
count
- 最大アイテム数の値。カウントはゼロより大きくなければなりません。- 関連事項:
close
インターフェースからコピーされた説明:ItemStream
ストリームの動作にリソースが必要な場合、ここで破棄する必要があります。このメソッドが呼び出されると、他のすべてのメソッド(open を除く)は例外をスローする場合があります。open
インターフェースからコピーされた説明:ItemStream
提供されたExecutionContext
のストリームを開きます。- パラメーター:
executionContext
- 現在のステップのExecutionContext
。再起動時のステップの最後の実行からの executionContext になります。- 例外:
ItemStreamException
update
インターフェースからコピーされた説明:ItemStream
オープン中に提供された実行コンテキストが保存されようとしていることを示します。状態が残っているが、コンテキストに入れられていない場合は、ここに追加する必要があります。- パラメーター:
executionContext
- 更新される- 例外:
ItemStreamException
setSaveState
public void setSaveState(boolean saveState) ExecutionContext
の内部データを保存するかどうかを決定するフラグを設定します。このストリームから状態を保存したくない場合にのみ、これを false に切り替えて、再起動可能にする必要はありません。リーダーが並行環境で使用されている場合は、常に false に設定します。- パラメーター:
saveState
- フラグ値(デフォルトは true)。
isSaveState
public boolean isSaveState()再起動のために内部状態を保存するかどうかを決定するフラグ。- 戻り値:
- フラグが設定されている場合は true