WebSphere WebSphere Enterprise Service Bus, Version 6.0.1 Sistemi operativi: AIX, HP-UX, Linux, Solaris, Windows

Scrittura di selettori eventi

Un selettore eventi definisce una serie di eventi.

Un selettore eventi è un'espressione regolare che definisce una serie di eventi basati sui relativi dati delle proprietà (attributi o elementi secondari). Ad esempio, un selettore eventi può specificare tutti gli eventi provenienti da un host specifico la cui gravità è superiore a 30 (avvertenza). I selettori eventi sono utilizzati per definire gruppi di eventi, specificare criteri di filtro ed interrogare il server degli eventi.

Dal momento che la specifica Common Base Event è basata su XML, i selettori eventi vengono scritti utilizzando una sottoserie della sintassi XPath. La sintassi specifica che è possibile utilizzare per un selettore eventi dipende dalla modalità di utilizzo del selettore eventi, come riepilogato nella seguente tabella.

Scopo del selettore eventi Sintassi
Definizione gruppo eventi Limitata al sottoinsieme XPath supportato dal plug-in archivio dati predefinito
Query ed eliminazione degli eventi attraverso l'interfaccia event access Limitata al sottoinsieme XPath supportato dal plug-in archivio dati predefinito
Configurazione filtro del programma di output Un qualsiasi XPath valido
Sottoscrizione attraverso l'interfaccia NotificationHelper Un qualsiasi XPath valido
Nota: il plug-in archivio dati predefinito utilizza un sottoinsieme della sintassi XPath. Tuttavia, se si utilizza un plug-in archivio dati diverso, esso potrebbe supportare un sottoinsieme differente di XPath. I selettori eventi che vengono scritti per le definizioni dei gruppi eventi e per l'interfaccia event access devono utilizzare la sintassi supportata dal proprio plugin archivio dati.

Scrittura di selettori eventi XPath

XPath è un linguaggio standard utilizzato per identificare parti di un documento XML; per maggiori informazioni, vedere la specifica XPath all'indirizzo http://www.w3.org/TR/xpath.

Un selettore eventi XPath di tipo semplice che specifica un valore attributo, ha il seguente formato:
CommonBaseEvent[@attributo = valore]
Il valore può essere un valore numerico o una stringa racchiusa tra singoli apici o tra virgolette.
È possibile specificare un attributo di un elemento secondario:
CommonBaseEvent[/elemento
secondario/@attributo = valore]

Quando si usano gli operatori XPath, tenere presenti le seguenti regole generali:

Gli esempi riportati di seguito rappresentano dei selettori eventi XPath validi.

Selettori eventi XPath Definizione del selettore
CommonBaseEvent[@extensionName = 'ApplicationStarted'] Tutti gli eventi con l'attributo extensionName ApplicationStarted
CommonBaseEvent[sourceComponentId/ @location = "server1"] Tutti gli eventi che contengono un elemento sourceComponentId con l'attributo location server1
CommonBaseEvent[@severity] Tutti gli eventi con un attributo severity, indipendentemente dal suo valore
CommonBaseEvent[@creationTime < '2003-12-10T12:00:00-05:00' and @severity > 30] Tutti gli eventi creati prima di mezzogiorno EST del 10 dicembre 2003 e con gravità maggiore di 30 (avvertenza):
CommonBaseEvent[contains(@msg, 'disco pieno')] Tutti gli eventi con la frase disco pieno all'interno dell'attributo msg
CommonBaseEvent[(@severity = 30 or @severity = 50) and @priority = 100] Tutti gli eventi il cui attributo severity è uguale a 30 o 50, e la cui priority è uguale a 100.

Scrittura di selettori eventi per il plugin archivio dati predefinito

Se un selettore eventi viene utilizzato per definire un gruppo eventi o per interrogare l'archivio dati persistente, è soggetto a delle limitazioni del plugin archivio dati predefinito. Queste limitazioni sono le seguenti:
  • Una proprietà dell'evento può essere specificata solo sul lato sinistro di un operatore o di una funzione XPath. Il valore sul lato destro di un operatore deve essere un valore letterale. Il seguente esempio non rappresenta un selettore eventi valido:
    CommonBaseEvent[30 < @priority and
                    contains('questo messaggio', @msg)]
    Potrebbe essere invece riscritto nel seguente modo:
    CommonBaseEvent[@priority > 30 and 
                    contains(@msg, 'questo messaggio')]
  • Solo le seguenti funzioni XPath vengono supportate:
    • contains
    • starts-with
    • false
    • true
    • not
  • L'operatore union (|) non è supportato.
  • Un selettore eventi deve presentare il seguente formato:
    CommonBaseEvent[espressione_predicato]
    È possibile associare solo un'unica espressione predicato all'elemento CommonBaseEvent. I predicati stack non sono supportati (ad esempio CommonBaseEvent[@extensionName = "server_down"][@severity = 10]).
  • Un predicato può essere solo associato all'ultima parte del percorso di ubicazione. Il seguente esempio non rappresenta un selettore eventi valido:
    CommonBaseEvent[contextDataElement[@contextValue = "myContextValue"]
                    /@contextId = "myContextId"]
    Potrebbe essere invece riscritto nel seguente modo:
    CommonBaseEvent[contextDataElement[@contextValue = "myContextValue" 
                    and @contextId = "myContextId"]]
  • Se un selettore eventi indica proprietà di elementi dati estesi che si trovano su livelli diversi della gerarchia di contenuto XML, è necessario raggruppare insieme questi elementi per livello. Il seguente esempio non rappresenta un selettore eventi valido, in quanto i riferimenti agli attributi type e value (entrambi di livello superiore) di extendedDataElements sono separati:
    CommonBaseEvent[extendedDataElements[@type = 'int' and
                                         children/@type = 'intArray' and
                                         children/@name = 'myName' and
                                         @value = 10]]
    È invece possibile riscriverlo come riportato di seguito, raggruppando insieme gli attributi di livello superiore e di secondo livello:
    CommonBaseEvent[extendedDataElements[@type = 'int' and
                                         @value = 10 and
                                         children/@type = 'intArray' and
                                         children/@type = 'myName']]
  • Gli indici dei nodi non sono supportati (ad esempio CommonBaseEvent[extendedDataElements[1]]).
  • I caratteri jolly non sono supportati (ad esempio CommonBaseEvent[extendedDataElements/*/children/values = "text"]).
  • Quando si fa riferimento alla proprietà values di un elemento dati estesi, occorre specificare non solo il valore ma anche il tipo della proprietà:
    CommonBaseEvent[extendedDataElements[values = "myVal" 
      and @type = "string"]]
    È possibile specificare il tipo per più confronti all'interno di una espressione composta raggruppandoli tra parentesi:
    CommonBaseEvent[extendedDataElements[(values = "myVal" or 
                                          values = "yourVal") and
                                          @type = "string"]]
    In quest'esempio, l'espressione type è valida per entrambe le parti dell'espressione composta nelle parentesi. Non è possibile ignorare questa limitazione specificando un'espressione type differente nelle parentesi.
    È anche possibile raggruppare più tipi correlati utilizzando le funzioni starts-with o contains. Ad esempio, la seguente espressione corrisponde ad una proprietà con la stringa o il tipo stringArray:
    CommonBaseEvent[extendedDataElements[values = "myVal" and
                                         starts-with(@type, 'string')]]

Concept topic

Condizioni di utilizzo | Valuta questa pagina

Timestamp iconUltimo aggiornamento: 5 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. Tutti i diritti riservati.
Questo information center è sviluppato con tecnologia Eclipse. (http://www.eclipse.org)