public class MongoItemReader<T> extends AbstractPaginatedDataItemReader<T> implements org.springframework.beans.factory.InitializingBean
ページング手法を使用して MongoDB からドキュメントを読み取る再起動可能な ItemReader
。
JSON 文字列クエリ setQuery(String)
を設定すると、リクエストされたドキュメントを取得するために JSON が実行されます。
Query オブジェクト setQuery(Query)
を設定すると、リクエストされたドキュメントを取得するために Query が実行されます。
クエリは、AbstractPaginatedDataItemReader.setPageSize(int)
で指定されたページリクエストを使用して実行されます。AbstractItemCountingItemStreamItemReader.read()
メソッドが呼び出されると、データを提供するために必要に応じて追加のページがリクエストされます。
提供される JSON 文字列クエリは、? <index> プレースホルダーを介したパラメーター置換をサポートします。<index> は、置換する parameterValue のインデックスを示します。
実装は AbstractItemCountingItemStreamItemReader.open(ExecutionContext)
の呼び出し間でスレッドセーフですが、マルチスレッドクライアントで使用する場合は saveState=false
を使用することを忘れないでください(再起動は利用できません)。
page, pageSize, results
コンストラクターと説明 |
---|
MongoItemReader() |
修飾子と型 | メソッドと説明 |
---|---|
void | afterPropertiesSet() 必須プロパティをチェックします |
protected java.util.Iterator<T> | doPageRead() ページを読み取る実際の作業のために、この ItemStreamReader が委譲するメソッド。 |
void | setCollection(java.lang.String collection) |
void | setFields(java.lang.String fields) MongoDB によって一致するドキュメントから返されるフィールドを定義する JSON。 |
void | setHint(java.lang.String hint) 使用するインデックスを MongoDB に指示する JSON 文字列。 |
void | setParameterValues(java.util.List<java.lang.Object> parameterValues) クエリの各パラメーターに代入される値の List 。 |
void | setQuery(org.springframework.data.mongodb.core.query.Query query) 使用する Mongo クエリ。 |
void | setQuery(java.lang.String queryString) JSON 形式の MongoDB クエリ。 |
void | setSort(java.util.Map<java.lang.String,org.springframework.data.domain.Sort.Direction> sorts) プロパティ名の Map / 入力をソートするための Sort.Direction 値。 |
void | setTargetType(java.lang.Class<? extends T> type) 各 AbstractItemCountingItemStreamItemReader.read() 呼び出しで返されるオブジェクトの型。 |
void | setTemplate(org.springframework.data.mongodb.core.MongoOperations template) MongoDB インスタンスに対して操作を実行するために使用されます。 |
doClose, doOpen, doRead, jumpToItem, setPageSize
close, getCurrentItemCount, isSaveState, open, read, setCurrentItemCount, setMaxItemCount, setSaveState, update
getExecutionContextKey, setExecutionContextName, setName
public void setQuery(org.springframework.data.mongodb.core.query.Query query)
query
- 使用する Mongo クエリ。public void setTemplate(org.springframework.data.mongodb.core.MongoOperations template)
template
- 使用する MongoOperations インスタンス MongoOperations
public void setQuery(java.lang.String queryString)
queryString
- JSON 形式の Mongo クエリ public void setTargetType(java.lang.Class<? extends T> type)
AbstractItemCountingItemStreamItemReader.read()
呼び出しで返されるオブジェクトの型。type
- 返すオブジェクトの型 public void setParameterValues(java.util.List<java.lang.Object> parameterValues)
List
。parameterValues
- 個の値 public void setFields(java.lang.String fields)
fields
- ソートするフィールドを識別する JSON 文字列。public void setSort(java.util.Map<java.lang.String,org.springframework.data.domain.Sort.Direction> sorts)
Map
/ 入力をソートするための Sort.Direction
値。sorts
- プロパティのマップとそれぞれを並べ替える方向。public void setCollection(java.lang.String collection)
collection
- 照会する Mongo コレクション。public void setHint(java.lang.String hint)
hint
- 使用するインデックスを示す文字列。protected java.util.Iterator<T> doPageRead()
AbstractPaginatedDataItemReader
ItemStreamReader
が委譲するメソッド。このメソッドが呼び出されるたびに、結果の Iterator
には次のページ内で読み取られたアイテムが含まれます。Iterator
が返されたときに空または null の場合、この ItemReader
は入力が使い果たされたと想定します。AbstractPaginatedDataItemReader<T>
の doPageRead
Iterator
。public void afterPropertiesSet() throws java.lang.Exception
org.springframework.beans.factory.InitializingBean
の afterPropertiesSet
java.lang.Exception
InitializingBean.afterPropertiesSet()