インターフェース 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 booleanisCandidateClass(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