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