WebSphere WebSphere Enterprise Service Bus, Version 6.0.1 Sistemas operativos: AIX, HP-UX, Linux, Solaris, Windows

Escritura de selectores de sucesos

Un selector de sucesos define un conjunto de sucesos.

Un selector de sucesos es una expresión regular que define un conjunto de sucesos basados en sus datos de propiedad (atributos o subelementos). Por ejemplo, un selector de sucesos puede especificar todos los sucesos de un sistema principal en particular cuya gravedad sea superior a (advertencia). Los selectores de sucesos se utilizan para definir grupos de sucesos, especificar criterios de filtro y consultar el servidor de sucesos.

Puesto que la especificación de suceso básico común se basa en XML, los selectores de sucesos se escriben utilizando un subconjunto de la sintaxis XPath. La sintaxis específica que se puede utilizar para un selector de sucesos depende de cómo deba utilizarse el selector, como se resume en la tabla siguiente.

Finalidad del selector de sucesos Sintaxis
Definición del grupo de sucesos Limitado al subconjunto XPath soportado por el conector predeterminado de almacén de datos
Consulta y purga de sucesos a través de la interfaz de acceso a sucesos Limitado al subconjunto XPath soportado por el conector predeterminado de almacén de datos
Configuración del filtro de emisores Cualquier XPath válido
Suscripción a través de la interfaz de Notification Helper Cualquier XPath válido
Nota: El conector predeterminado del almacén de datos utiliza un subconjunto de la sintaxis XPath. No obstante, si utiliza un conector de almacén de datos distinto, es posible que éste dé soporte a un subconjunto distinto de XPath. Los selectores de sucesos que escriba para las definiciones de grupos de sucesos y para la interfaz de acceso a sucesos deben utilizar la sintaxis a la que el conector de almacén de datos da soporte.

Escritura de selectores de sucesos XPath

XPath es un lenguaje estándar que se utiliza para identificar las partes de un documento XML; para obtener más información, consulte la especificación XPath en la dirección http://www.w3.org/TR/xpath.

Un selector de sucesos XPath simple que especifica un valor de atributo tiene el formato siguiente:
CommonBaseEvent[@atributo = valor]
El valor puede ser numérico o una serie especificada entre comillas dobles o simples.
También puede especificar un atributo de un subelemento:
CommonBaseEvent[/subelemento/@atributo = valor]

Cuando utilice operadores XPath, tenga en cuenta las reglas generales siguientes:

Los ejemplos siguientes son selectores de sucesos XPath válidos.

Selectores de sucesos XPath Definición del selector
CommonBaseEvent[@extensionName = 'ApplicationStarted'] Todos los sucesos con el atributo extensionName ApplicationStarted
CommonBaseEvent[sourceComponentId/ @location = "server1"] Todos los sucesos que contienen un elemento sourceComponentId con el atributo location server1
CommonBaseEvent[@severity] Todos los sucesos con un atributo severity, independientemente de su valor
CommonBaseEvent[@creationTime < '2003-12-10T12:00:00-05:00' and @severity > 30] Todos los sucesos creados antes del mediodía EST del 10 de diciembre de 2003 y con una gravedad superior a 30 (aviso).
CommonBaseEvent[contains(@msg, 'disco lleno')] Todos los sucesos en los que aparece la frase disco lleno en el atributo msg
CommonBaseEvent[(@severity = 30 or @severity = 50) and @priority = 100] Todos los sucesos cuyo atributo severity es igual a 30 o 50, y priority es igual a 100.

Escritura de selectores de sucesos para el conector predeterminado de almacén de datos

Si es posible que el selector de sucesos se utilice para definir un grupo de sucesos o para consultar el almacén de datos persistentes, está sujeto a las restricciones del conector predeterminado de almacén de datos. Estas restricciones son:
  • Una propiedad de suceso sólo puede especificarse en el lado izquierdo de un operador o de una función XPath. El valor del lado derecho de un operador debe ser un valor literal. El ejemplo siguiente no es un selector de sucesos válido:
    CommonBaseEvent[30 < @priority and
                    contains('this message', @msg)]
    Debería reescribirse de este modo:
    CommonBaseEvent[@priority > 30 and 
                    contains(@msg, 'this message')]
  • Sólo se da soporte a las funciones XPath siguientes:
    • contains
    • starts-with
    • false
    • true
    • not
  • No se da soporte al operador de unión (|).
  • Un selector de sucesos debe tener el formato siguiente:
    CommonBaseEvent[expresión_predicado]
    Sólo puede asociarse una expresión de predicado con el elemento CommonBaseEvent. No se da soporte a los predicados apilados (por ejemplo, CommonBaseEvent[@extensionName = "server_down"][@severity = 10]).
  • Un predicado sólo puede asociarse al último paso de una vía de acceso de ubicación. El ejemplo siguiente no es un selector de sucesos válido:
    CommonBaseEvent[contextDataElement[@contextValue = "myContextValue"]
                    /@contextId = "myContextId"]
    Debería reescribirse de este modo:
    CommonBaseEvent[contextDataElement[@contextValue = "myContextValue" 
                    and @contextId = "myContextId"]]
  • Si un selector de sucesos hace referencia a propiedades de elementos de datos ampliados que se encuentran en niveles distintos de la jerarquía de contención XML, dichos elementos deben agruparse por nivel. El ejemplo siguiente no es un selector de sucesos válido ya que las referencias a los atributos type y value (ambos en el nivel superior) de extendedDataElements están separadas:
    CommonBaseEvent[extendedDataElements[@type = 'int' and
                                         children/@type = 'intArray' and
                                         children/@name = 'myName' and
                                         @value = 10]]
    Esto podría reescribirse como sigue, agrupando los atributos del nivel superior y del segundo nivel:
    CommonBaseEvent[extendedDataElements[@type = 'int' and
                                         @value = 10 and
                                         children/@type = 'intArray' and
                                         children/@type = 'myName']]
  • No se da soporte a los índices de nodos (por ejemplo, CommonBaseEvent[extendedDataElements[1]]).
  • No se da soporte a los caracteres comodín (por ejemplo, CommonBaseEvent[extendedDataElements/*/children/values = "text"]).
  • Cuando se hace referencia a la propiedad values de un elemento de datos ampliados, debe especificarse el valor y el tipo de la propiedad:
    CommonBaseEvent[extendedDataElements[values = "myVal" 
      and @type = "string"]]
    Puede especificar el tipo para varias comparaciones en una expresión compuesta agrupándolas entre paréntesis:
    CommonBaseEvent[extendedDataElements[(values = "myVal" or 
                                          values = "yourVal") and
                                          @type = "string"]]
    En este ejemplo, la expresión type se aplica a ambas partes de la expresión compuesta entre paréntesis. No es posible sobrescribir esta expresión especificando una expresión de type distinta dentro del paréntesis.
    También es posible agrupar varios tipos relacionados mediante las funciones starts-with o contains. Por ejemplo, la expresión siguiente coincidiría con una propiedad que tuviera el tipo string o stringArray:
    CommonBaseEvent[extendedDataElements[values = "myVal" and
                                         starts-with(@type, 'string')]]

Concept topic

Condiciones de uso | Evalúe esta página

Icono de fecha y horaÚltima actualización: 1 Mar 2006
http://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp?topic=/com.ibm.websphere.wesb.doc.nl1_6.0.1\doc\ccei_adminCBEB_eventselector.html

(C) Copyright IBM Corporation 2005. Reservados todos los derechos.
Este centro de información está basado en tecnología Eclipse. (http://www.eclipse.org)