Utilizzare il metodo createCommonBaseEvent per creare e popolare un evento.
Il frammento di codice riportato di seguito consente di avviare una nuova sfera di correlazione
eventi, newECSID, e utilizza il metodo createCommonBaseEvent per creare un oggetto evento. Per ulteriori informazioni sulle sfere di correlazione eventi, consultare
ECSEmitter myEmitter = new ECSEmitter("JNDI Emitter Factory Name", "newECSID");
CommonBaseEvent myEvent = myEmitter.createCommonBaseEvent("myEventType");
// richiamare l'oggetto situation
Situation mySituation = myEvent.getSituation();
// impostare le proprietà situation
mySituation.setCategoryName("ReportSituation");
mySituation.setReportSituation("EXTERNAL", "STATUS");
// aggiungere altre informazioni all'evento
// inviare l'evento
myEmitter.sendEvent(myEvent);
Questo esempio utilizza il metodo del costruttore
della classe ECSEmitter per creare un programma di output, inviando il nome JNDI di un programma
di output Common Event Infrastructure esistente e l'identificazione di una nuova sfera di
correlazione eventi.
Il nuovo programma di output viene, quindi, utilizzato per creare un
Common Base Event che contenga un oggetto situation a cui si accede tramite la chiamata getSituation.
I metodi setCategoryName e setReportSituation vengono utilizzati per impostare i dati
obbligatori nell'oggetto situation per emettere un evento con un ReportSituation.
Per creare altri tipi situation, utilizzare nomi categoria diversi nella chiamata setCategoryName
e metodi setter diversi per situation.
Tutte le altre informazioni obbligatorie vengono
fornite automaticamente dall'ambiente di runtime. Se le informazioni obbligatorie vengono impostate
in modo esplicito nel Common Base Event, tali informazioni non vengono sovrascritte con quelle
predefinite. A questo punto, l'evento è valido e può essere inoltrato ad un programma di output
utilizzando il metodo sendEvent.
In un'applicazione reale, un evento utile deve includere più
informazioni di quelle elencate in questo esempio; tuttavia, in questa sede, sono presentate solo
quelle minime indispensabili richieste dalla specifica Common Base Event e da Common Event Infrastructure.
Utilizzare il metodo addUserDataEvent per creare e popolare un evento. Il frammento di codice riportato di seguito consente di utilizzare il metodo
addUserDataEvent per creare un oggetto evento nella sfera di correlazione eventi corrente.
ECSEmitter myEmitter = new ECSEmitter("JNDI Emitter Factory Name", null);
// preparare una serie di proprietà dati utente
Properties myUserData = new Properties();
myUserData.setProperty("UserData1","UserDataValue1");
myUserData.setProperty("UserData2","UserDataValue2");
// creare e inviare l'evento
myEmitter.addUserDataEvent(myUserData);
Questo esempio utilizza il metodo del
costruttore della classe ECSEmitter per creare un programma di output, inviando il nome JNDI di un
programma di output Common Event Infrastructure esistente. Un identificatore della sfera di
correlazione eventi non viene inviato (null), perciò non viene avviata una nuova
sfera di correlazione eventi. Se è disponibile una sfera di correlazione eventi, l'evento dati
utente viene aggiunto a questa sfera di correlazione.
Viene, quindi, preparata una serie di
proprietà dati utente. Le coppie nome e valore vengono aggiunte ad un elenco di proprietà.
L'ultima parte dell'esempio consente di creare e inviare un Common Base Event tramite il metodo
addUserDataEvent di un nuovo programma di output. La proprietà extensionName del nuovo Common Base
Event viene impostata su ECS:UserDataEvent, situation viene impostato su
ReportSituation e tutte le altre informazioni obbligatorie vengono fornite
automaticamente dall'ambiente di runtime.