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

Jakarta EE Platform API v9.0.0

パッケージ jakarta.enterprise.event

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

参照先: 説明

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

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

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

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

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

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

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

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

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

イベント修飾子

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

オブザーバーメソッド

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

オブザーバーメソッドは、@Observes または @ObservesAsync というアノテーションが付けられたパラメーターを持つ Bean クラスまたは拡張のメソッドです。

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

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

オブザーバメソッドが呼び出される順序は、@ の値に依存して優先観察者に適用されます。

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

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

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

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

Jakarta EE Platform API v9.0.0

Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.