@TargetSE(valueSE=PARAMETERSE) @RetentionSE(valueSE=RUNTIMESE) @DocumentedSE public @interface ObservesAsync
非同期オブザーバーメソッドのイベントパラメーターを識別します。Bean クラスのメソッドのパラメーターに適用できます
public void afterLogin(@ObservesAsync LoggedInEvent event) { ... }
オブザーバーメソッドは、マネージ Bean クラスまたはセッション Bean クラス(または拡張機能)の非抽象メソッドです。オブザーバーメソッドは、静的または非静的のいずれかです。Bean がセッション Bean の場合、オブザーバーメソッドは EJB のビジネスメソッドまたは Bean クラスの静的メソッドのいずれかである必要があります。
各オブザーバーメソッドには、オブザーバーするイベント型と同じ型のイベントパラメーターが 1 つだけ必要です。イベント修飾子は、イベントパラメーターにアノテーションを付けることで宣言できます。イベントのオブザーバーメソッドを検索するとき、コンテナーはイベントパラメーターの型と修飾子を考慮します。
イベントパラメーターが修飾子を明示的に宣言していない場合、オブザーバーメソッドは修飾子のないイベントを監視します。
イベントパラメーター型には、型変数またはワイルドカードを含めることができます。
イベントパラメーターに加えて、オブザーバメソッドは修飾子を宣言する可能性のある追加のパラメーターを宣言する場合があります。これらの追加パラメーターはインジェクションポイントです。
public void afterLogin(@ObservesAsync LoggedInEvent event, @Manager User user, Logger log) { ... }
Bean(または拡張機能)は、複数のオブザーバーメソッドを宣言する場合があります。
オブザーバーメソッドは Bean サブクラスに継承されます。
インターセプターとデコレーターはオブザーバーメソッドを宣言できません。
修飾子と型 | オプションの要素と説明 |
---|---|
Reception | notifyObserver オブザーバーメソッドに通知する条件を指定します。 |
public abstract Reception notifyObserver
オブザーバーメソッドに通知する条件を指定します。
デフォルトでは、オブザーバーメソッドを定義する Bean のインスタンスが現在のコンテキストにまだ存在しない場合でも、オブザーバーメソッドに通知されます。
Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.