クラス 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
- 関連事項:
コンストラクターのサマリー
コンストラクター方法の概要
修飾子と型メソッド説明void
addApplicationListener
(ApplicationListener<?> listener) すべてのイベントを通知するリスナーを追加します。void
addApplicationListenerBean
(StringSE listenerBeanName) すべてのイベントの通知を受けるリスナー Bean を追加します。protected CollectionSE<ApplicationListener<?>>
すべての ApplicationListeners を含むコレクションを返します。protected CollectionSE<ApplicationListener<?>>
getApplicationListeners
(ApplicationEvent event, ResolvableType eventType) 指定されたイベント型に一致する ApplicationListeners のコレクションを返します。void
このマルチキャスターに登録されているすべてのリスナーを削除します。void
removeApplicationListener
(ApplicationListener<?> listener) 通知リストからリスナーを削除します。void
removeApplicationListenerBean
(StringSE listenerBeanName) 通知リストからリスナー Bean を削除します。void
removeApplicationListenerBeans
(PredicateSE<StringSE> predicate) 登録されたリスナー Bean 名のセットから一致するすべてのリスナー Bean を削除します(ApplicationListener
インターフェースを直接実装する Bean クラスを参照します)。void
removeApplicationListeners
(PredicateSE<ApplicationListener<?>> predicate) 登録されたApplicationListener
インスタンスのセット (たとえば、アノテーション付きEventListener
メソッドのApplicationListenerMethodAdapter
などのアダプタークラスを含む) から一致するすべてのリスナーを削除します。void
setBeanClassLoader
(ClassLoaderSE classLoader) Beanclass loader
SE を Bean インスタンスに提供するコールバック。void
setBeanFactory
(BeanFactory beanFactory) 所有ファクトリを Bean インスタンスに提供するコールバック。protected boolean
supportsEvent
(ClassSE<?> listenerType, ResolvableType eventType) インスタンス化を試みる前に、一般的に宣言されたイベント型をチェックして、リスナーを早期にフィルターします。protected boolean
supportsEvent
(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
インターフェースからコピーされた説明:BeanClassLoaderAware
Beanclass loader
SE を Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean's
InitializingBean.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
- チェックするソース型- 戻り値:
- 特定のリスナーを特定のイベント型の候補に含めるかどうか