ナビゲーションリンクをスキップ

Jakarta EE 8 仕様 API

パッケージ javax.enterprise.event

イベントに関連するアノテーションとインターフェース。

参照先: 説明

パッケージ javax.enterprise.event の説明

イベントに関連するアノテーションとインターフェース。

Bean はイベントを生成および消費する場合があります。イベントにより、Bean は完全に分離された方法で対話でき、対話する Bean 間のコンパイル時の依存関係はありません。最も重要なことは、アプリケーションの 1 つのアーキテクチャー層にあるステートフル Bean が、内部状態を別の層で発生する状態変化と同期できるようにすることです。

イベントは同期的または非同期的に発生します。

イベントは以下を含みます:

Event インターフェースは、イベントを発生させるために使用されます。

イベントオブジェクトとイベント型

イベントオブジェクトはペイロードとして機能し、プロデューサーからコンシューマーに状態を伝播します。イベントオブジェクトは、型変数のない具象 Java クラスのインスタンスです。

イベントのイベント型には、イベントオブジェクトのランタイムクラスのすべてのスーパークラスとインターフェースが含まれます。イベント型に型変数を含めることはできません。

イベント修飾子

イベント修飾子はトピックセレクターとして機能し、コンシューマーが監視するイベントのセットを絞り込むことができます。イベント修飾子は、任意の修飾子タイプのインスタンスにすることができます。

オブザーバーメソッド

オブザーバーメソッドを使用すると、アプリケーションでイベント通知を同期的に受信して応答できます。また、非同期オブザーバーメソッドを使用すると、アプリケーションはイベント通知を非同期で受信して応答できます。どちらもイベントコンシューマーとして機能し、特定の修飾子のセットを使用して、特定のタイプのイベントを監視します。Java タイプは、observer メソッドによって監視できます。

オブザーバメソッドは、Bean クラスまたは拡張機能のメソッドであり、アノテーション付きの @Observes または @ObservesAsync を使用します。

以下の場合、オブザーバーメソッドにイベントが通知されます。

同期オブザーバーメソッドがトランザクションオブザーバーメソッドであり、イベントが発生したときに進行中の JTA トランザクションがある場合、オブザーバーメソッドは適切なトランザクション完了フェーズ中に通知されます。それ以外の場合は、イベントが発生したときにオブザーバーに通知されます。

オブザーバーメソッドが呼び出される順序は、オブザーバーに適用される @ 優先度の値によって異なります。

オブザーバで優先度が定義されていない場合、その優先度は javax.interceptor.Interceptor.Priority.APPLICATION + 500 です。

2 人のオブザーバが同じ優先度を持っている場合、それらの相対的な順序は定義されていません。

オブザーバーメソッドは例外をスローする場合があります。

関連事項:
javax.enterprise.inject, Observes, Event, Qualifier
ナビゲーションリンクをスキップ

Jakarta EE 8 仕様 API

Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.