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

Completamento automatico del contenuto eventi

Impostando le proprietà e le politiche, il contenuto eventi può essere completato in modo automatico.

Perché e quando eseguire questa attività

In alcuni casi, per ogni evento creato, si potrebbe desiderare di impostare automaticamente alcuni dati delle proprietà. È un modo per completare determinati valori standard invariabili (ad esempio il nome dell'applicazione) o impostare alcune proprietà in base alle informazioni disponibili dall'ambiente di runtime (ad esempio la data di creazione o le informazioni sul thread). Inoltre, è anche possibile impostare delle politiche che controllino il contenuto eventi in base a regole aziendali; ad esempio, si desidera impostare su un determinato valore la gravità di ogni evento con uno specifico nome estensione.

È possibile farlo creando un handler dei contenuti. Un handler dei contenuti è un oggetto che imposta automaticamente i valori delle proprietà di ciascun evento in base a politiche arbitrarie a scelta. La Common Event Infrastructure non pone limiti alla modalità di modifica dei dati da parte dell'handler dei contenuti, purché l'evento resti conforme alla specifica Common Base Event.

Per assicurare che tutte le origini eventi rispettino le stesse politiche, è possibile creare una produzione eventi associata a un handler dei contenuti (utilizzando EventFactoryFactory) e collegarla quindi in uno spazio nome JNDI. Invece di creare le proprie produzioni eventi, le origini eventi possono quindi eseguire delle ricerche JNDI per accedere alla produzione eventi che già esiste, senza sapere nulla dell'handler dei contenuti. Se le regole aziendali in seguito subiscono delle variazioni, è possibile modificare l'handler dei contenuti in un'unica sede.

Una origine eventi non deve fare nulla per abilitare il completamento del contenuto. Se una produzione eventi è associata a un handler dei contenuti, ciascun evento creato dalla produzione include un riferimento a tale handler. Quando l'evento viene inoltrato a un programma di output, l'evento richiama il metodo completeEvent() dell'handler dei contenuti, passando un riferimento a se stesso. Ciò garantisce l'applicazione delle politiche corrette all'evento dopo l'impostazione delle proprietà specifiche dell'evento da parte dell'origine eventi ma prima che l'evento venga convalidato ed elaborato dal programma di output.
Nota: quando l'evento viene trasmesso da un processo a un altro, il riferimento all'handler dei contenuti non viene trasmesso. Questo avviene perché il completamento dei contenuti dipende dall'ambiente in cui l'evento ha avuto origine e le informazioni necessarie potrebbero non essere disponibili altrove. Questa limitazione non influisce sulle chiamate tra applicazioni che sono locali l'una per l'altra (ad esempio, una chiamata a un bean enterprise con la sua interfaccia locale).

Per creare un handler dei contenuti, attenersi alle seguenti procedure:

Passi per questa attività

  1. Creare una nuova classe Java che implementi l'interfaccia org.eclipse.hyades.logging.events.cbe.ContentHandler. Quest'interfaccia definisce un singolo metodo denominato completeEvent(CommonBaseEvent); il parametro è l'evento di cui deve essere completato il contenuto. Nell'implementazione specifica di questo metodo, è possibile utilizzare i metodi getter e setter di CommonBaseEvent per elaborare i dati delle proprietà dell'evento in base alle politiche applicate.
    Nota: quando un'origine dati utilizza JNDI per richiamare una produzione eventi, l'handler dei contenuti viene restituito insieme alla produzione eventi. Per questo motivo, l'handler dei contenuti deve essere serializzabile.

    L'esempio riportato di seguito rappresenta un semplice handler dei contenuti che imposta automaticamente il nome dell'estensione di ciascun evento:

    import java.io.Serializable;
    import org.eclipse.hyades.logging.events.cbe.*;
    
    public class BusinessContentHandler
         implements ContentHandler, Serializable {
    
           public void completeEvent(CommonBaseEvent event)
              throws CompletionException {
                  event.setExtensionName("business");
         }
    }
  2. Associare l'handler dei contenuti a una produzione eventi. A tale scopo, specificare l'handler dei contenuti durante la creazione della produzione eventi:
    EventFactory eventFactory =
         (EventFactory) EventFactoryFactory.createEventFactory(contentHandler);
    La produzione eventi restituita è associata in modo permanente all'handler dei contenuti specificato.

Task 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\tcei_admin_contentCompletion.html

(C) Copyright IBM Corporation 2005. Tutti i diritti riservati.
Questo information center è sviluppato con tecnologia Eclipse. (http://www.eclipse.org)