クラス AbstractApplicationEventMulticaster
- 実装されているすべてのインターフェース:
Aware、BeanClassLoaderAware、BeanFactoryAware、ApplicationEventMulticaster
- 既知の直属サブクラス
SimpleApplicationEventMulticaster
ApplicationEventMulticaster インターフェースの抽象的な実装。基本的なリスナー登録機能を提供します。デフォルトでは、リスナーをリンクされたセット内に保持するため、同じリスナーの複数のインスタンスは許可されません。ApplicationListener オブジェクトを保持するために使用されるコレクションクラスは、"collectionClass" Bean プロパティを通じてオーバーライドできます。
ApplicationEventMulticaster の実際の ApplicationEventMulticaster.multicastEvent(org.springframework.context.ApplicationEvent) メソッドの実装は、サブクラスに任されています。SimpleApplicationEventMulticaster は、すべてのイベントをすべての登録済みリスナーに単純にマルチキャストし、デフォルトで呼び出しスレッドで呼び出します。代替の実装は、これらの点でより洗練されている可能性があります。
- 導入:
- 1.2.3
- 作成者:
- Juergen Hoeller, Stephane Nicoll
- 関連事項:
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明voidaddApplicationListener(ApplicationListener<?> listener) すべてのイベントを通知するリスナーを追加します。voidaddApplicationListenerBean(StringSE listenerBeanName) すべてのイベントの通知を受けるリスナー Bean を追加します。protected CollectionSE<ApplicationListener<?>>すべての ApplicationListeners を含むコレクションを返します。protected CollectionSE<ApplicationListener<?>>getApplicationListeners(ApplicationEvent event, ResolvableType eventType) 指定されたイベント型に一致する ApplicationListeners のコレクションを返します。voidこのマルチキャスターに登録されているすべてのリスナーを削除します。voidremoveApplicationListener(ApplicationListener<?> listener) 通知リストからリスナーを削除します。voidremoveApplicationListenerBean(StringSE listenerBeanName) 通知リストからリスナー Bean を削除します。voidremoveApplicationListenerBeans(PredicateSE<StringSE> predicate) 登録されたリスナー Bean 名のセットから一致するすべてのリスナー Bean を削除します(ApplicationListenerインターフェースを直接実装する Bean クラスを参照します)。voidremoveApplicationListeners(PredicateSE<ApplicationListener<?>> predicate) 登録されたApplicationListenerインスタンスのセットから一致するすべてのリスナーを削除します(ApplicationListenerMethodAdapterなどのアダプタークラスを含みます。voidsetBeanClassLoader(ClassLoaderSE classLoader) Beanclass loaderSE を Bean インスタンスに提供するコールバック。voidsetBeanFactory(BeanFactory beanFactory) 所有ファクトリを Bean インスタンスに提供するコールバック。protected booleansupportsEvent(ClassSE<?> listenerType, ResolvableType eventType) インスタンス化を試みる前に、一般的に宣言されたイベント型をチェックして、リスナーを早期にフィルターします。protected booleansupportsEvent(ApplicationListener<?> listener, ResolvableType eventType, ClassSE<?> sourceType) 指定されたリスナーが指定されたイベントをサポートするかどうかを決定します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース org.springframework.context.event.ApplicationEventMulticaster から継承されたメソッド
multicastEvent, multicastEvent
コンストラクターの詳細
AbstractApplicationEventMulticaster
public AbstractApplicationEventMulticaster()
メソッドの詳細
setBeanClassLoader
インターフェースからコピーされた説明:BeanClassLoaderAwareBeanclass loaderSE を Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean'sInitializingBean.afterPropertiesSet()メソッドやカスタム init-method などの初期化コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanClassLoaderAwareのsetBeanClassLoader - パラメーター:
classLoader- 所有クラスローダー
setBeanFactory
インターフェースからコピーされた説明:BeanFactoryAware所有ファクトリを Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean.afterPropertiesSet()またはカスタム init-method などの初期化コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanFactoryAwareのsetBeanFactory - パラメーター:
beanFactory- 所有 BeanFactory(非null)。Bean は、ファクトリのメソッドをすぐに呼び出すことができます。- 関連事項:
addApplicationListener
インターフェースからコピーされた説明:ApplicationEventMulticasterすべてのイベントを通知するリスナーを追加します。- 次で指定:
- インターフェース
ApplicationEventMulticasterのaddApplicationListener - パラメーター:
listener- 追加するリスナー- 関連事項:
addApplicationListenerBean
インターフェースからコピーされた説明:ApplicationEventMulticasterすべてのイベントの通知を受けるリスナー Bean を追加します。- 次で指定:
- インターフェース
ApplicationEventMulticasterのaddApplicationListenerBean - パラメーター:
listenerBeanName- 追加するリスナー Bean の名前- 関連事項:
removeApplicationListener
インターフェースからコピーされた説明:ApplicationEventMulticaster通知リストからリスナーを削除します。- 次で指定:
- インターフェース
ApplicationEventMulticasterのremoveApplicationListener - パラメーター:
listener- 削除するリスナー- 関連事項:
removeApplicationListenerBean
インターフェースからコピーされた説明:ApplicationEventMulticaster通知リストからリスナー Bean を削除します。- 次で指定:
- インターフェース
ApplicationEventMulticasterのremoveApplicationListenerBean - パラメーター:
listenerBeanName- 削除するリスナー Bean の名前- 関連事項:
removeApplicationListeners
インターフェースからコピーされた説明:ApplicationEventMulticaster登録されたApplicationListenerインスタンスのセットから一致するすべてのリスナーを削除します(これには、アノテーション付きEventListenerメソッドなどのApplicationListenerMethodAdapterなどのアダプタークラスが含まれます)。メモ: これはインスタンス登録にのみ適用され、Bean 名で登録されたリスナーには適用されません。
- 次で指定:
- インターフェース
ApplicationEventMulticasterのremoveApplicationListeners - パラメーター:
predicate- 削除するリスナーインスタンスを識別する述語。例:SmartApplicationListener.getListenerId()をチェックしています- 関連事項:
removeApplicationListenerBeans
インターフェースからコピーされた説明:ApplicationEventMulticaster登録されたリスナー Bean 名のセットから一致するすべてのリスナー Bean を削除します(ApplicationListenerインターフェースを直接実装する Bean クラスを参照します)。メモ: これは、プログラムで登録された
ApplicationListenerインスタンスではなく、Bean 名の登録にのみ適用されます。- 次で指定:
- インターフェース
ApplicationEventMulticasterのremoveApplicationListenerBeans - パラメーター:
predicate- 削除するリスナー Bean 名を識別するための述語- 関連事項:
removeAllListeners
public void removeAllListeners()インターフェースからコピーされた説明:ApplicationEventMulticasterこのマルチキャスターに登録されているすべてのリスナーを削除します。remove 呼び出しの後、新しいリスナーが登録されるまで、マルチキャスターはイベント通知に対してアクションを実行しません。
getApplicationListeners
すべての ApplicationListeners を含むコレクションを返します。- 戻り値:
- ApplicationListeners のコレクション
- 関連事項:
getApplicationListeners
protected CollectionSE<ApplicationListener<?>> getApplicationListeners(ApplicationEvent event, ResolvableType eventType) 指定されたイベント型に一致する ApplicationListeners のコレクションを返します。一致しないリスナーは早期に除外されます。- パラメーター:
event- 伝播するイベント。キャッシュされた一致情報に基づいて、一致しないリスナーを早期に除外できます。eventType- イベント型- 戻り値:
- ApplicationListeners のコレクション
- 関連事項:
supportsEvent
インスタンス化を試みる前に、一般的に宣言されたイベント型をチェックして、リスナーを早期にフィルターします。このメソッドが最初のパスとして指定されたリスナーの
trueを返す場合、リスナーインスタンスは取得され、その後supportsEvent(ApplicationListener, ResolvableType, Class)呼び出しを介して完全に評価されます。- パラメーター:
listenerType- BeanFactory によって決定されるリスナーの型eventType- チェックするイベント型- 戻り値:
- 特定のリスナーを特定のイベント型の候補に含めるかどうか
supportsEvent
protected boolean supportsEvent(ApplicationListener<?> listener, ResolvableType eventType, @Nullable ClassSE<?> sourceType) 指定されたリスナーが指定されたイベントをサポートするかどうかを決定します。デフォルトの実装では、
SmartApplicationListenerおよびGenericApplicationListenerインターフェースが検出されます。標準のApplicationListenerの場合、GenericApplicationListenerAdapterを使用して、ターゲットリスナの一般的に宣言された型をイントロスペクトします。- パラメーター:
listener- チェックするターゲットリスナーeventType- 確認するイベント型sourceType- チェックするソース型- 戻り値:
- 特定のリスナーを特定のイベント型の候補に含めるかどうか