インターフェース TransactionAttributeSource
- すべての既知の実装クラス:
AbstractFallbackTransactionAttributeSource
、AnnotationTransactionAttributeSource
、CompositeTransactionAttributeSource
、MatchAlwaysTransactionAttributeSource
、MethodMapTransactionAttributeSource
、NameMatchTransactionAttributeSource
public interface TransactionAttributeSource
TransactionInterceptor
がメタデータの取得に使用する戦略インターフェース。実装は、構成、ソースレベルのメタデータ属性(アノテーションなど)、またはその他の場所からトランザクション属性を取得する方法を知っています。
- 導入:
- 15.04.2003
- 作成者:
- Rod Johnson, Juergen Hoeller
- 関連事項:
メソッドのサマリー
修飾子と型メソッド説明getTransactionAttribute
(MethodSE method, ClassSE<?> targetClass) 指定されたメソッドのトランザクション属性を返します。メソッドが非トランザクションの場合はnull
を返します。default boolean
isCandidateClass
(ClassSE<?> targetClass) 指定されたクラスが、このTransactionAttributeSource
のメタデータ形式のトランザクション属性の候補であるかどうかを判別します。
メソッドの詳細
isCandidateClass
指定されたクラスが、このTransactionAttributeSource
のメタデータ形式のトランザクション属性の候補であるかどうかを判別します。このメソッドが
false
を返す場合、指定されたクラスのメソッドはgetTransactionAttribute(java.lang.reflect.Method, java.lang.Class<?>)
イントロスペクションのために走査されません。false
を返すことは、影響を受けないクラスの最適化です。一方、true
は、クラスが特定のクラスの各メソッドに対して個別に完全にイントロスペクションする必要があることを意味します。- パラメーター:
targetClass
- イントロスペクトするクラス- 戻り値:
- クラスまたはメソッドレベルでトランザクション属性を持たないことがクラスに知られている場合は
false
。それ以外の場合はtrue
。デフォルトの実装はtrue
を返し、通常のイントロスペクションにつながります。 - 導入:
- 5.2
getTransactionAttribute
@Nullable TransactionAttribute getTransactionAttribute(MethodSE method, @Nullable ClassSE<?> targetClass) 指定されたメソッドのトランザクション属性を返します。メソッドが非トランザクションの場合はnull
を返します。- パラメーター:
method
- イントロスペクトする方法targetClass
- ターゲットクラス (null
にすることもできます。この場合、メソッドの宣言クラスを使用する必要があります。)- 戻り値:
- 一致するトランザクション属性。見つからない場合は
null