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