クラス AsyncAnnotationBeanPostProcessor
- 実装されたすべてのインターフェース:
SerializableSE
、AopInfrastructureBean
、Aware
、BeanClassLoaderAware
、BeanFactoryAware
、BeanPostProcessor
、InstantiationAwareBeanPostProcessor
、SmartInstantiationAwareBeanPostProcessor
、Ordered
AsyncAnnotationAdvisor
を公開されたプロキシ(既存の AOP プロキシまたはすべてのターゲットのインターフェースを実装する新しく生成されたプロキシ)に追加することにより、クラスまたはメソッドレベルで Async
アノテーションを保持する Bean に非同期呼び出し動作を自動的に適用する Bean ポストプロセッサー)。 非同期実行を担当する TaskExecutor
と、メソッドを非同期で呼び出す必要があることを示すアノテーション型を指定できます。アノテーション型が指定されていない場合、このポストプロセッサーは Spring の @Async
アノテーションと EJB 3.1 jakarta.ejb.Asynchronous
アノテーションの両方を検出します。
void
の戻り値の型を持つメソッドの場合、非同期メソッドの呼び出し中にスローされた例外には、呼び出し元はアクセスできません。これらのケースを処理するために AsyncUncaughtExceptionHandler
を指定できます。
メモ: 基礎となる非同期 advisor は、呼び出しチェーンでできるだけ早く非同期実行に切り替えるために、デフォルトで既存の advisor の前に適用されます。
- 導入:
- 3.0
- 作成者:
- Mark Fisher, Juergen Hoeller, Stephane Nicoll
- 関連事項:
フィールドサマリー
修飾子と型フィールド説明static final StringSE
取得するTaskExecutor
Bean のデフォルト名: "taskExecutor"。protected final Log
クラス org.springframework.aop.framework.AbstractAdvisingBeanPostProcessor から継承されたフィールド
advisor, beforeExistingAdvisors
インターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明void
configure
(SupplierSE<ExecutorSE> executor, SupplierSE<AsyncUncaughtExceptionHandler> exceptionHandler) 指定されたエグゼキューターと例外ハンドラーのサプライヤーでこのポストプロセッサーを設定し、サプライヤーが解決できない場合は対応するデフォルトを適用します。void
setAsyncAnnotationType
(ClassSE<? extends AnnotationSE> asyncAnnotationType) クラスレベルまたはメソッドレベルで検出される「非同期」アノテーション型を設定します。void
setBeanFactory
(BeanFactory beanFactory) 所有ファクトリを Bean インスタンスに提供するコールバック。void
setExceptionHandler
(AsyncUncaughtExceptionHandler exceptionHandler) 非同期メソッド実行によってスローされたキャッチされない例外を処理するために使用するAsyncUncaughtExceptionHandler
を設定します。void
setExecutor
(ExecutorSE executor) メソッドを非同期に呼び出すときに使用するExecutor
SE を設定します。クラス org.springframework.aop.framework.autoproxy.AbstractBeanFactoryAwareAdvisingPostProcessor から継承されたメソッド
isEligible, prepareProxyFactory
クラス org.springframework.aop.framework.AbstractAdvisingBeanPostProcessor から継承されたメソッド
customizeProxyFactory, determineBeanType, isEligible, postProcessAfterInitialization, setBeforeExistingAdvisors
クラス org.springframework.aop.framework.ProxyProcessorSupport から継承されたメソッド
evaluateProxyInterfaces, getOrder, getProxyClassLoader, isConfigurationCallbackInterface, isInternalLanguageInterface, setBeanClassLoader, setOrder, setProxyClassLoader
クラス org.springframework.aop.framework.ProxyConfig から継承されたメソッド
copyFrom, isExposeProxy, isFrozen, isOpaque, isOptimize, isProxyTargetClass, setExposeProxy, setFrozen, setOpaque, setOptimize, setProxyTargetClass, toString
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSE
インターフェース org.springframework.beans.factory.config.BeanPostProcessor から継承されたメソッド
postProcessBeforeInitialization
インターフェース org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor から継承されたメソッド
postProcessAfterInstantiation, postProcessBeforeInstantiation, postProcessProperties
インターフェース org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor から継承されたメソッド
determineCandidateConstructors, getEarlyBeanReference, predictBeanType
フィールドの詳細
DEFAULT_TASK_EXECUTOR_BEAN_NAME
取得するTaskExecutor
Bean のデフォルト名: "taskExecutor"。最初の検索は型ごとに行われることに注意してください。これは、コンテキストで複数のエグゼキューター Bean が見つかった場合の単なるフォールバックです。
logger
コンストラクターの詳細
AsyncAnnotationBeanPostProcessor
public AsyncAnnotationBeanPostProcessor()
メソッドの詳細
configure
public void configure(@Nullable SupplierSE<ExecutorSE> executor, @Nullable SupplierSE<AsyncUncaughtExceptionHandler> exceptionHandler) 指定されたエグゼキューターと例外ハンドラーのサプライヤーでこのポストプロセッサーを設定し、サプライヤーが解決できない場合は対応するデフォルトを適用します。- 導入:
- 5.1
setExecutor
メソッドを非同期に呼び出すときに使用するExecutor
SE を設定します。指定されていない場合は、デフォルトのエグゼキュータ解決が適用されます。コンテキスト内で一意の
TaskExecutor
Bean を検索するか、それ以外の場合は "taskExecutor" という名前のExecutor
SE Bean を検索します。どちらも解決できない場合は、インターセプター内にローカルのデフォルトのエグゼキュータが作成されます。setExceptionHandler
非同期メソッド実行によってスローされたキャッチされない例外を処理するために使用するAsyncUncaughtExceptionHandler
を設定します。- 導入:
- 4.1
setAsyncAnnotationType
クラスレベルまたはメソッドレベルで検出される「非同期」アノテーション型を設定します。デフォルトでは、Async
アノテーションと EJB 3.1jakarta.ejb.Asynchronous
アノテーションの両方が検出されます。この setter プロパティは、開発者が独自の(Spring 固有ではない)アノテーション型を提供して、メソッド(または特定のクラスのすべてのメソッド)を非同期で呼び出す必要があることを示すために存在します。
- パラメーター:
asyncAnnotationType
- 目的のアノテーション型
setBeanFactory
インターフェースからコピーされた説明:BeanFactoryAware
所有ファクトリを Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean.afterPropertiesSet()
またはカスタム init-method などの初期化コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanFactoryAware
のsetBeanFactory
- オーバーライド:
- クラス
AbstractBeanFactoryAwareAdvisingPostProcessor
のsetBeanFactory
- パラメーター:
beanFactory
- 所有 BeanFactory(非null
)。Bean は、ファクトリのメソッドをすぐに呼び出すことができます。- 関連事項: