クラス AsyncAnnotationAdvisor

java.lang.ObjectSE
org.springframework.aop.support.AbstractPointcutAdvisor
org.springframework.scheduling.annotation.AsyncAnnotationAdvisor
実装されたすべてのインターフェース:
SerializableSEAdvisorPointcutAdvisorAwareBeanFactoryAwareOrdered

public class AsyncAnnotationAdvisor extends AbstractPointcutAdvisor implements BeanFactoryAware
Async アノテーションを介して非同期メソッドの実行をアクティブ化するアドバイザー。このアノテーションは、実装クラスおよびサービスインターフェースのメソッドレベルおよび型レベルで使用できます。

このアドバイザは EJB 3.1 jakarta.ejb.Asynchronous アノテーションも検出し、Spring 自体の Async とまったく同じように扱います。さらに、カスタム非同期アノテーション型は、"asyncAnnotationType" プロパティを通じて指定される場合があります。

導入:
3.0
作成者:
Juergen Hoeller
関連事項:
  • コンストラクターの詳細

    • AsyncAnnotationAdvisor

      public AsyncAnnotationAdvisor()
      Bean スタイルの構成用に新しい AsyncAnnotationAdvisor を作成します。
    • AsyncAnnotationAdvisor

      public AsyncAnnotationAdvisor(@Nullable ExecutorSE executor, @Nullable AsyncUncaughtExceptionHandler exceptionHandler)
      指定されたタスクエグゼキューターの新しい AsyncAnnotationAdvisor を作成します。
      パラメーター:
      executor - 非同期メソッドに使用するタスクエグゼキュータ (デフォルトのエグゼキューター解決をトリガーする null にすることができます)
      exceptionHandler - 非同期メソッドの実行によってスローされた予期しない例外を処理するために使用する AsyncUncaughtExceptionHandler
      関連事項:
    • AsyncAnnotationAdvisor

      public AsyncAnnotationAdvisor(@Nullable SupplierSE<ExecutorSE> executor, @Nullable SupplierSE<AsyncUncaughtExceptionHandler> exceptionHandler)
      指定されたタスクエグゼキューターの新しい AsyncAnnotationAdvisor を作成します。
      パラメーター:
      executor - 非同期メソッドに使用するタスクエグゼキュータ (デフォルトのエグゼキューター解決をトリガーする null にすることができます)
      exceptionHandler - 非同期メソッドの実行によってスローされた予期しない例外を処理するために使用する AsyncUncaughtExceptionHandler
      導入:
      5.1
      関連事項:
  • メソッドの詳細

    • setAsyncAnnotationType

      public void setAsyncAnnotationType(ClassSE<? extends AnnotationSE> asyncAnnotationType)
      「非同期」アノテーション型を設定します。

      デフォルトの非同期アノテーション型は、Async アノテーションと EJB 3.1 jakarta.ejb.Asynchronous アノテーション(存在する場合)です。

      この setter プロパティは、開発者が独自の(Spring 固有ではない)アノテーション型を提供して、メソッドが非同期で実行されることを示すことができるようにするために存在します。

      パラメーター:
      asyncAnnotationType - 目的のアノテーション型
    • setBeanFactory

      public void setBeanFactory(BeanFactory beanFactory)
      修飾子でエグゼキュータを検索するときに使用する BeanFactory を設定します。
      次で指定:
      インターフェース BeanFactoryAwaresetBeanFactory 
      パラメーター:
      beanFactory - 所有 BeanFactory(非 null)。Bean は、ファクトリのメソッドをすぐに呼び出すことができます。
      関連事項:
    • getAdvice

      public Advice getAdvice()
      インターフェースからコピーされた説明: Advisor
      このアスペクトのアドバイス部分を返します。アドバイスには、インターセプター、ビフォアアドバイス、スローアドバイスなどがあります。
      次で指定:
      インターフェース AdvisorgetAdvice 
      戻り値:
      ポイントカットが一致する場合に適用するアドバイス
      関連事項:
    • getPointcut

      public Pointcut getPointcut()
      インターフェースからコピーされた説明: PointcutAdvisor
      このアドバイザーを駆動するポイントカットを取得します。
      次で指定:
      インターフェース PointcutAdvisorgetPointcut 
    • buildAdvice

      protected Advice buildAdvice(@Nullable SupplierSE<ExecutorSE> executor, @Nullable SupplierSE<AsyncUncaughtExceptionHandler> exceptionHandler)
    • buildPointcut

      protected Pointcut buildPointcut(SetSE<ClassSE<? extends AnnotationSE>> asyncAnnotationTypes)
      指定された非同期アノテーション型がある場合は、そのポイントカットを計算します。
      パラメーター:
      asyncAnnotationTypes - イントロスペクトする非同期アノテーション型
      戻り値:
      該当する Pointcut オブジェクト、ない場合は null