您可以在不擷取事件的情況下,判斷事件是否存在。
執行這項作業的原因和時機
在某些情況下,您可能只是想要瞭解特定事件群組中有沒有任何事件,而不是想要擷取這些事件。要執行這項作業,請使用事件存取 Bean 的 eventExists() 方法。
這項作業的步驟
- 如果您需要建立事件存取 Bean,請參閱建立事件存取 Bean。
- 呼叫 EventAccess Bean 的 eventExists(String, String) 方法。
boolean hasEvents = eventAccess.eventExists(eventGroup,
eventSelector);
這個方法的參數如下:
- eventGroup
- 這個字串含有您要檢查其事件的事件群組名稱。這必須是事件基礎架構配置中所定義之現有事件群組的名稱。
- eventSelector
- 這個字串含有進一步精確設定查詢的選用事件選取器。該查詢只會檢查符合指定事件群組和其他事件選取器兩者的事件。事件選取器是以 XPath 表示式的格式來指定(如需詳細資訊,請參閱撰寫事件選取器)。
如果您不要指定其他的事件選取器,這個參數可以是空值。
結果
如果有符合指定事件群組和事件選取器的事件,傳回的 Boolean 物件等於
true;如果沒有,則等於
false。
範例
下列程式碼片段會檢查事件群組
critical_hosts 中是否存在有任何事件,
且會擷取任何存在的事件。
if (eventAccess.eventExists("critical_hosts",null)) {
CommonBaseEvent[] events =
eventAccess.queryByEventGroup("critical_hosts",
null,
true);
}