Puede determinar la existencia de sucesos sin recuperarlos.
Por qué y cuándo realizar esta tarea
En algunas situaciones, es posible que desee averiguar si algún
suceso existe en un determinado grupo de sucesos sin recuperar, de hecho, los sucesos.
Para realizar esto, utilice el método eventExists() del bean de acceso a sucesos.
Pasos para realizar esta tarea
- Si necesita crear un bean de acceso a suceso, consulte el apartado
Creación de un bean de acceso a suceso
- Llame al método eventExists(String, String) del bean EventAccess.
boolean hasEvents = eventAccess.eventExists(eventGroup,
eventSelector);
Los parámetros de este método son los siguientes:
- eventGroup
- Una serie que contiene el nombre del grupo de sucesos en el que desea comprobar
los sucesos. Debe ser el nombre de un grupo de sucesos existente definido en la configuración de la infraestructura de sucesos.
- eventSelector
- Una serie que contiene un selector de sucesos opcional que refina adicionalmente la consulta.
La consulta sólo comprueba los sucesos que coincidan con el grupo de sucesos
especificado y con el selector de sucesos adicional. Un selector de sucesos se
especifica con el formato de una expresión XPath (para obtener más información,
consulte el apartado Grabación de selectores de sucesos).
Si no desea especificar un selector de sucesos adicional, este parámetro puede ser nulo.
Resultado
El objeto booleano devuelto es igual a
true, si
existen sucesos que coincidan con el grupo de sucesos y selector de
sucesos especificados; es
false, si no existe ninguno.
El siguiente fragmento de código comprueba la existencia de cualquier
suceso en un grupo de sucesos llamado
critical_hosts y recupera todos los
que existan.
if (eventAccess.eventExists("critical_hosts",null)) {
CommonBaseEvent[] events =
eventAccess.queryByEventGroup("critical_hosts",
null,
true);
}