クラス 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
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明void
protected void
doClose()
AbstractItemCountingItemStreamItemReader.doOpen()
で開いたリソースを閉じます。protected void
doOpen()
入力の読み取りを開始するために必要なリソースを開きます。リポジトリを介してページの実際の読み取りを実行します。protected T
doRead()
入力から次の項目を読み取ります。protected void
jumpToItem
(int itemLastIndex) 指定されたアイテムインデックスに移動します。void
setArguments
(ListSE<?> arguments) データ提供メソッドに渡される引数。void
setMethodName
(StringSE methodName) 呼び出すリポジトリ上のメソッドを指定します。void
setPageSize
(int pageSize) void
setRepository
(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
ページクエリ間で順序が維持されるように、結果の順序を指定します。複数の並べ替えエントリがある場合は、順序を維持するためにLinkedHashMap
SE を使用します。- パラメーター:
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
クラスからコピーされた説明:AbstractItemCountingItemStreamItemReader
AbstractItemCountingItemStreamItemReader.doOpen()
で開いたリソースを閉じます。- 次で指定:
- クラス
AbstractItemCountingItemStreamItemReader<T>
のdoClose
- 例外:
ExceptionSE
- サブクラスがフレームワークによる解釈のためにチェック済み例外をスローできるようにします