イベント・カタログに、新規に作成したイベントを追加できます
このタスクを実行する理由および時期
新規のイベント定義を作成し、プロパティー記述および拡張データ・エレメント記述によりデータを取り込むと、新規に作成したイベント定義をイベント・カタログに追加できます。
一度イベント・カタログに追加されると、イベント定義は変更できませんが、置き換えることはできます。
注: WebSphere セキュリティーが使用可能に設定されている場合、イベント・カタログにイベント定義を追加するには、アプリケーション・ユーザー ID が catalogAdministrator 役割にマップされている必要があります。
このタスクの手順
イベント・カタログにイベント定義を追加するには、addEventDefinition メソッドを使用します。 boolean result = eventCatalog.addEventDefinition(definition, replace)
このメソッドのパラメーターは、以下の通りです。
- definition
- 追加するイベント定義。
これは、有効な EventDefinition のインスタンスである必要があります。
- replace
- 指定されたイベント定義により同じ名前の既存の定義を置き換えるかどうかを示すブール値。
replace パラメーターが false である場合、
指定されたイベント定義の名前がカタログ内の既存のイベント定義のいずれにも一致しないようにする必要があります。
一致した場合は、EventDefinitionExistsException 例外がスローされます。
replace パラメーターが true である場合は、新規のイベント定義により、すでにカタログ内にある同じ名前の既存のイベント定義が置き換えられます。
ただし、継承の階層を保持するため、新規のイベント定義は古いイベント定義と同じ親で名前を付ける必要があります。
このようにしない場合には、ParentNotValidException 例外がスローされます。
結果
戻されるブール値は、既存のイベント定義が置換されたかどうかを表します。
これは、replace が true に等しく、同じ名前のイベント定義が新規の定義により置き換えられた場合にのみ、true になります。
イベント定義がイベント・カタログに追加されると、イベント・カタログはイベント・サーバーにイベントを送信し、変更が発生したことをイベント・コンシューマーに通知します。
変更通知 を参照してください。
注: 継承ルールに違反したイベント定義の追加を試みた場合は、InheritanceNotValidException 例外がスローされ、そのイベント定義はカタログに追加されません。
このようなことが発生するのは、新規のイベント定義が、継承されたプロパティーまたは拡張データ・エレメント記述を無効な方法でオーバーライドした場合、および既存のイベント定義の置き換えにより継承された記述を無効な方法でオーバーライドする子孫が生じた場合などです。
詳しくは、
イベント・カタログの継承 を参照してください。