クラス 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取得するTaskExecutorBean のデフォルト名: "taskExecutor"。protected final org.apache.commons.logging.Logクラス org.springframework.aop.framework.autoproxy.AbstractBeanFactoryAwareAdvisingPostProcessor から継承されたフィールド
beanFactoryクラス org.springframework.aop.framework.AbstractAdvisingBeanPostProcessor から継承されたフィールド
advisor, beforeExistingAdvisorsインターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCEコンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明voidconfigure(@Nullable SupplierSE<? extends @Nullable ExecutorSE> executor, @Nullable SupplierSE<? extends @Nullable AsyncUncaughtExceptionHandler> exceptionHandler) 指定されたエグゼキューターと例外ハンドラーのサプライヤーでこのポストプロセッサーを設定し、サプライヤーが解決できない場合は対応するデフォルトを適用します。voidsetAsyncAnnotationType(ClassSE<? extends AnnotationSE> asyncAnnotationType) クラスレベルまたはメソッドレベルで検出される「非同期」アノテーション型を設定します。voidsetBeanFactory(BeanFactory beanFactory) 所有ファクトリを Bean インスタンスに提供するコールバック。voidsetExceptionHandler(AsyncUncaughtExceptionHandler exceptionHandler) 非同期メソッド実行によってスローされたキャッチされない例外を処理するために使用するAsyncUncaughtExceptionHandlerを設定します。voidsetExecutor(ExecutorSE executor) メソッドを非同期に呼び出すときに使用するExecutorSE を設定します。クラス 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 から継承されたメソッド
copyDefault, 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
取得するTaskExecutorBean のデフォルト名: "taskExecutor"。最初の検索は型ごとに行われることに注意してください。これは、コンテキストで複数のエグゼキューター Bean が見つかった場合の単なるフォールバックです。
- 導入:
- 4.2
- 関連事項:
logger
protected final org.apache.commons.logging.Log logger
コンストラクターの詳細
AsyncAnnotationBeanPostProcessor
public AsyncAnnotationBeanPostProcessor()
メソッドの詳細
configure
public void configure(@Nullable SupplierSE<? extends @Nullable ExecutorSE> executor, @Nullable SupplierSE<? extends @Nullable AsyncUncaughtExceptionHandler> exceptionHandler) 指定されたエグゼキューターと例外ハンドラーのサプライヤーでこのポストプロセッサーを設定し、サプライヤーが解決できない場合は対応するデフォルトを適用します。- 導入:
- 5.1
setExecutor
メソッドを非同期に呼び出すときに使用するExecutorSE を設定します。指定されていない場合は、デフォルトのエグゼキュータ解決が適用されます。コンテキスト内で一意の
TaskExecutorBean を検索するか、それ以外の場合は "taskExecutor" という名前のExecutorSE 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 は、ファクトリのメソッドをすぐに呼び出すことができます。- 関連事項: