クラス RepositoryItemReader<T>
java.lang.ObjectSE
org.springframework.batch.item.ItemStreamSupport
org.springframework.batch.item.support.AbstractItemStreamItemReader<T>
org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader<T>
org.springframework.batch.item.data.RepositoryItemReader<T>
- 実装されているすべてのインターフェース:
ItemReader<T>、ItemStream、ItemStreamReader<T>、org.springframework.beans.factory.InitializingBean
public class RepositoryItemReader<T>
extends AbstractItemCountingItemStreamItemReader<T>
implements org.springframework.beans.factory.InitializingBean
PagingAndSortingRepository を使用してレコードを読み取る ItemReader。
リーダーのパフォーマンスはリポジトリの実装に依存しますが、かなり大きなページサイズを設定し、それをコミット間隔と一致させると、パフォーマンスが向上します。
リーダーは、PagingAndSortingRepository、Sort、0 より大きい pageSize で構成されている必要があります。
この実装は AbstractItemCountingItemStreamItemReader.open(ExecutionContext) の呼び出し間でスレッドセーフですが、マルチスレッドクライアントで使用する場合は saveState=false を使用することを忘れないでください(再起動は利用できません)。
これはページングアイテムリーダーであり、ページ自体の読み取り中にスローされる例外(doPageRead() 内のオブジェクトなどへのマッピング結果)は、このリーダーには例外があるかどうかを知る方法がないためスキップできないことに注意することが重要ですスキップされたため、スキップ制限を超えるまで同じページを読み続けます。
NOTE: RepositoryItemReader は、Java オブジェクト、つまり非プリミティブのみを読み取ります。
- 導入:
- 2.2
- 作成者:
- Michael Minella, Antoine Kapps, Mahmoud Ben Hassine
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明voidprotected voiddoClose()AbstractItemCountingItemStreamItemReader.doOpen()で開いたリソースを閉じます。protected voiddoOpen()入力の読み取りを開始するために必要なリソースを開きます。リポジトリを介してページの実際の読み取りを実行します。protected TdoRead()入力から次の項目を読み取ります。protected voidjumpToItem(int itemLastIndex) 指定されたアイテムインデックスに移動します。voidsetArguments(ListSE<?> arguments) データ提供メソッドに渡される引数。voidsetMethodName(StringSE methodName) 呼び出すリポジトリ上のメソッドを指定します。voidsetPageSize(int pageSize) voidsetRepository(org.springframework.data.repository.PagingAndSortingRepository<?, ?> repository) 入力の読み取りに使用されるPagingAndSortingRepository実装。voidページ化されたクエリ間で順序が維持されるように、結果の順序を提供しますクラス org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader から継承されたメソッド
close, getCurrentItemCount, isSaveState, open, read, setCurrentItemCount, setMaxItemCount, setSaveState, updateクラス org.springframework.batch.item.ItemStreamSupport から継承されたメソッド
getExecutionContextKey, getName, setExecutionContextName, setName
フィールドの詳細
logger
protected org.apache.commons.logging.Log logger
コンストラクターの詳細
RepositoryItemReader
public RepositoryItemReader()
メソッドの詳細
setArguments
データ提供メソッドに渡される引数。- パラメーター:
arguments- リポジトリに渡されるメソッド引数のリスト
setSort
ページ化されたクエリ間で順序が維持されるように、結果の順序を提供します- パラメーター:
sorts- ソートするフィールドと方向
setPageSize
public void setPageSize(int pageSize) - パラメーター:
pageSize- ページごとに取得するアイテムの数。0 より大きくなければなりません。
setRepository
public void setRepository(org.springframework.data.repository.PagingAndSortingRepository<?, ?> repository) 入力の読み取りに使用されるPagingAndSortingRepository実装。- パラメーター:
repository- 入力を読み込むための基礎となるリポジトリ。
setMethodName
呼び出すリポジトリ上のメソッドを指定します。このメソッドは、Pageableを最後の引数としてとる必要があります。- パラメーター:
methodName- 呼び出すメソッドの名前
afterPropertiesSet
- 次で指定:
- インターフェース
org.springframework.beans.factory.InitializingBeanのafterPropertiesSet - 例外:
ExceptionSE
doRead
クラスからコピーされた説明:AbstractItemCountingItemStreamItemReader入力から次の項目を読み取ります。- 次で指定:
- クラス
AbstractItemCountingItemStreamItemReader<T>のdoRead - 戻り値:
- データソースが使い果たされた場合、アイテムまたは
null - 例外:
ExceptionSE- サブクラスがフレームワークによる解釈のためにチェック済み例外をスローできるようにします
jumpToItem
クラスからコピーされた説明:AbstractItemCountingItemStreamItemReader指定されたアイテムインデックスに移動します。AbstractItemCountingItemStreamItemReader.doRead()を使用して入力を再読み取りするよりも効率的に特定のインデックスに移動する方法がある場合、サブクラスはこのメソッドをオーバーライドする必要があります。- オーバーライド:
- クラス
AbstractItemCountingItemStreamItemReader<T>のjumpToItem - パラメーター:
itemLastIndex- ジャンプするアイテムのインデックス(0 ベース)。- 例外:
ExceptionSE- サブクラスがフレームワークによる解釈のためにチェック済み例外をスローできるようにします
doPageRead
リポジトリを介してページの実際の読み取りを実行します。必要に応じてオーバーライドできます。- 戻り値:
- ページを構成するアイテムのリスト
- 例外:
ExceptionSE- 基になるメソッドがスローするもの、またはメソッドの呼び出しに関連するものに基づく
doOpen
クラスからコピーされた説明:AbstractItemCountingItemStreamItemReader入力の読み取りを開始するために必要なリソースを開きます。- 次で指定:
- クラス
AbstractItemCountingItemStreamItemReader<T>のdoOpen - 例外:
ExceptionSE- サブクラスがフレームワークによる解釈のためにチェック済み例外をスローできるようにします
doClose
クラスからコピーされた説明:AbstractItemCountingItemStreamItemReaderAbstractItemCountingItemStreamItemReader.doOpen()で開いたリソースを閉じます。- 次で指定:
- クラス
AbstractItemCountingItemStreamItemReader<T>のdoClose - 例外:
ExceptionSE- サブクラスがフレームワークによる解釈のためにチェック済み例外をスローできるようにします