イベントを取得することなく、そのイベントが存在することを判別できます。
このタスクを実行する理由および時期
状況により、実際にイベントを取得することなく、特定のイベント・グループにそのイベントが存在するかどうかを確認する必要がある場合があります。
これを実行するには、イベント・アクセス Bean の eventExists() メソッドを使用します。
このタスクの手順
- イベント・アクセス Bean を作成する必要がある場合は、イベント・アクセス Bean の作成 を参照してください。
- EventAccess Bean の eventExists(String, String) メソッドを呼び出します。
boolean hasEvents = eventAccess.eventExists(eventGroup,
eventSelector);
このメソッドのパラメーターは、以下の通りです。
- eventGroup
- イベントを確認する対象のイベント・グループの名前を含むストリング。
これは、イベント・インフラストラクチャー構成で定義された、既存のイベント・グループの名前である必要があります
- eventSelector
- 照会をさらに詳細化する、オプションのイベント・セレクターを含むストリング。
照会では、指定されたイベント・グループおよび追加のイベント・セレクターの両方に一致するイベントに対してのみ確認します。
イベント・セレクターは、XPath 式の形式で指定します (詳しくは、イベント・セレクターの作成 を参照)。
追加のイベント・セレクターを指定しない場合は、このパラメーターをヌルにできます。
結果
戻されるブール値オブジェクトは、指定されたイベント・グループおよびイベント・セレクターに一致するイベントが存在する場合は
true に、存在しない場合は
false に等しくなります。
例
以下のコード・フラグメントでは、
critical_hosts というイベント・グループ内のすべてのイベントの存在を確認し、存在するイベントを取得しています。
if (eventAccess.eventExists("critical_hosts",null)) {
CommonBaseEvent[] events =
eventAccess.queryByEventGroup("critical_hosts",
null,
true);
}