イベント・ソースは、イベントを Java オブジェクトの形式で送信します。
具体的にいえば、各イベントは、org.eclipse.hyades.logging.events.cbe.CommonBaseEvent インターフェースを実装しているクラスのインスタンスです。このインターフェースは、コモン・ベース・イベントの仕様の Java 表現です。
詳しくは、『コモン・ベース・イベント・モデル』を参照してください。
イベントを送信するには、エミッター・インターフェースの sendEvent() メソッドを使用します。
エミッターにイベントを発信すると、以下のことが行われます。
- エミッターがイベントの complete() メソッドを呼び出し、オプションのコンテンツを入力させる。詳しくは、イベント内容の自動入力を参照してください。
- エミッターがシーケンス番号およびグローバル・インスタンス ID をまだ持っていないイベントに割り当てる。
- エミッターがイベントを検証して、コモン・ベース・イベントの仕様に準拠していることを確認する。
注: コモン・ベース・イベントの現在の仕様では、イベント包含階層の各レベルごとに、指定された名前を持つ拡張データ・エレメントは 1 つずつしか許可されていませんが、将来のバージョンの仕様にはこの制限は含まれず、共通イベント・インフラストラクチャーによって強制されることはなくなる予定です。
- フィルター操作がアクティブになっている場合、エミッターはイベントを現在のフィルター基準と照らし合わせ、イベントを送信するべきか、破棄するべきかを判断する。
- 最後に、イベントが有効でフィルター基準を満たしている場合、エミッターはそのイベントがパーシスタンスにされ、イベント・コンシューマーへ配布されるように、イベント・サーバーに送信する。
イベントが無効の場合、またはエミッターがイベント・サーバーへのイベントの送信を試行したときに問題が発生した場合は、例外がスローされます。
注: WebSphere セキュリティーが使用可能になっている場合は、アプリケーション・ユーザー ID を eventCreator または eventAdministrator の役割にマップし、同期 EJB 伝送を使用してイベントを送信する必要があります。