インターフェース TransactionAnnotationParser
- すべての既知の実装クラス:
Ejb3TransactionAnnotationParser
、JtaTransactionAnnotationParser
、SpringTransactionAnnotationParser
public interface TransactionAnnotationParser
既知のトランザクションアノテーション型を解析するための戦略インターフェース。
AnnotationTransactionAttributeSource
は、Spring 自体の Transactional
、JTA 1.2 の Transactional
EE または EJB3 の TransactionAttribute
EE などの特定のアノテーション型をサポートするために、そのようなパーサーに委譲します。方法の概要
修飾子と型メソッド説明default boolean
isCandidateClass
(ClassSE<?> targetClass) 指定されたクラスが、このTransactionAnnotationParser
のアノテーション形式のトランザクション属性の候補であるかどうかを判別します。このパーサーが理解できるアノテーション型に基づいて、指定されたメソッドまたはクラスのトランザクション属性を解析します。
メソッドの詳細
isCandidateClass
指定されたクラスが、このTransactionAnnotationParser
のアノテーション形式のトランザクション属性の候補であるかどうかを判別します。このメソッドが
false
を返す場合、指定されたクラスのメソッドは#parseTransactionAnnotation
イントロスペクションのためにトラバースされません。false
を返すことは影響を受けないクラスの最適化ですが、true
は単に、クラスが特定のクラスの各メソッドに対して個別に完全にイントロスペクトされる必要があることを意味します。- パラメーター:
targetClass
- イントロスペクトするクラス- 戻り値:
false
(クラスがクラスまたはメソッドレベルでトランザクションアノテーションを持たないことがわかっている場合)。それ以外の場合はtrue
。デフォルトの実装はtrue
を返し、通常のイントロスペクションが行われます。- 導入:
- 5.2
parseTransactionAnnotation
このパーサーが理解できるアノテーション型に基づいて、指定されたメソッドまたはクラスのトランザクション属性を解析します。これは基本的に、既知のトランザクションアノテーションを Spring のメタデータ属性クラスに解析します。メソッド / クラスがトランザクションでない場合、
null
を返します。返される属性は通常 (必ずしもそうとは限りませんが)
RuleBasedTransactionAttribute
型になります。- パラメーター:
element
- アノテーション付きのメソッドまたはクラス- 戻り値:
- 設定されたトランザクション属性、または見つからない場合は
null
- 関連事項: