インターフェース MongoTransactionOptionsResolver
public interface MongoTransactionOptionsResolver
TransactionDefinition
から MongoDB 固有の transaction options
を読み取る TransactionOptionResolver
。MongoTransactionOptions
の実装では、ストア固有ではないものの評価を避けるために、transaction attribute labels
に特定の prefix
を選択する場合があります。 デフォルトで評価される TransactionAttribute.getLabels()
は、キーと値のペアを分離するために =
を使用するプロパティスタイルに従う必要があります。
デフォルトでは、resolve(TransactionDefinition)
は prefix
によってラベルをフィルタリングし、ラベルからプレフィックスを削除してから、プルーニングされた Map
SE を convert(Map)
関数に渡します。
MongoDB を対象とするラベル付きのトランザクション定義は次のようになります。
@Transactional(label = { "mongo:readConcern=majority" })
- 導入:
- 4.3
- 作成者:
- Christoph Strobl
メソッドのサマリー
修飾子と型メソッド説明指定されたMap
SE をMongoTransactionOptions
のインスタンスに変換します。mongo:prefix
を使用してデフォルトのMongoTransactionOptionsResolver
実装を取得します。適用可能なlabels
をフィルタリングするために使用されるプレフィックスを取得します。default MongoTransactionOptions
resolve
(TransactionDefinition definition) 可能であれば、TransactionAttribute.getLabels()
ラベルを評価して、指定されたTransactionDefinition
からMongoTransactionOptions
を解決します。
メソッドの詳細
defaultResolver
mongo:prefix
を使用してデフォルトのMongoTransactionOptionsResolver
実装を取得します。- 戻り値:
- デフォルトの
MongoTransactionOptionsResolver
実装のインスタンス。
getLabelPrefix
適用可能なlabels
をフィルタリングするために使用されるプレフィックスを取得します。- 戻り値:
- ラベルが定義されていない場合は null です。
resolve
可能であれば、TransactionAttribute.getLabels()
ラベルを評価して、指定されたTransactionDefinition
からMongoTransactionOptions
を解決します。適用可能なラベルのプロパティスタイルを = を区切り文字として使用して分割し、フィルターされたラベル値を使用して
convert(Map)
を呼び出す前に、潜在的なprefix
を削除します。- パラメーター:
definition
-- 戻り値:
- 指定された
TransactionDefinition
がTransactionAttribute
でない場合、または一致するlabels
が見つからない場合は、MongoTransactionOptions.NONE
になります。 - 例外:
IllegalArgumentExceptionSE
- 有効なトランザクションオプションにマップされないオプション、または形式が正しくないラベルの場合。
convert
指定されたMap
SE をMongoTransactionOptions
のインスタンスに変換します。- パラメーター:
options
- 決して null にはなりません。- 戻り値:
- 決して null にはなりません。
- 例外:
IllegalArgumentExceptionSE
- 無効なオプションの場合。