インターフェース TransactionAttributeSource

すべての既知の実装クラス:
AbstractFallbackTransactionAttributeSourceAnnotationTransactionAttributeSourceCompositeTransactionAttributeSourceMatchAlwaysTransactionAttributeSourceMethodMapTransactionAttributeSourceNameMatchTransactionAttributeSource

public interface TransactionAttributeSource
TransactionInterceptor がメタデータの取得に使用する戦略インターフェース。

実装は、構成、ソースレベルのメタデータ属性(アノテーションなど)、またはその他の場所からトランザクション属性を取得する方法を知っています。

導入:
15.04.2003
作成者:
Rod Johnson, Juergen Hoeller
関連事項:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    getTransactionAttribute(MethodSE method, ClassSE<?> targetClass)
    指定されたメソッドのトランザクション属性を返します。メソッドが非トランザクションの場合は null を返します。
    default boolean
    isCandidateClass(ClassSE<?> targetClass)
    指定されたクラスが、この TransactionAttributeSource のメタデータ形式のトランザクション属性の候補であるかどうかを判別します。
  • メソッドの詳細

    • isCandidateClass

      default boolean isCandidateClass(ClassSE<?> targetClass)
      指定されたクラスが、この 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