Utilice el método createCommonBaseEvent para crear y rellenar
un suceso. El siguiente fragmento de código inicia una nueva esfera
de correlación de sucesos newECSID y, a continuación, utiliza el método
createCommonBaseEvent para crear un objeto de suceso:
ECSEmitter myEmitter = new ECSEmitter("Nombre de fábrica de emisores
JNDI", "newECSID");
CommonBaseEvent myEvent = myEmitter.createCommonBaseEvent("miTipoSuceso");
// obtener objeto de situación
Situation mySituation = myEvent.getSituation();
// establecer propiedades de situación
mySituation.setCategoryName("SituaciónInforme");
mySituation.setReportSituation("EXTERNAL", "STATUS");
// añadir otra información al suceso
// enviar el suceso
myEmitter.sendEvent(miSuceso);
En este ejemplo se utiliza el
método constructor de la clase ECSEmitter para crear un emisor, pasando el
nombre JNDI de un emisor existente de Common Event Infrastructure y la
identificación de una nueva esfera de correlación de sucesos.
El nuevo emisor se utiliza a continuación
para crear un Common Base Event que contenga un objeto de situación al que se acceda
mediante la llamada getSituation. Los métodos setCategoryName y
setReportSituation se utilizan para establecer los datos obligatorios en
el objeto de situación para emitir un suceso con una
ReportSituation. Para crear otros tipos de
situación, utilice nombres de categoría distintos en la llamada setCategoryName y
llamadas a método setter para la situación.
El resto de información
obligatoria la proporciona automáticamente el entorno de ejecución. Si se establece
la información obligatoria explícitamente en el Common Base Event, esta información
no se sobrescribe con la información por omisión. Ahora el suceso es válido y se puede enviar a un
emisor mediante el método sendEvent.
En una aplicación real, un suceso
práctico tiene que incluir más información de la que se muestra en este ejemplo,
pero estas propiedades son las mínimas que necesita la especificación Common Base
Event y Common Event Infrastructure.
Utilice el método addUserDataEvent para crear y rellenar un
suceso. El siguiente fragmento de código utiliza el método
addUserDataEvent para crear un objeto de suceso en la esfera de
correlación de sucesos actual.
ECSEmitter myEmitter = new
ECSEmitter("Nombre de fábrica de emisores
JNDI", null);
// preparar un conjunto de propiedades de datos de usuario
Properties myUserData = new Properties();
myUserData.setProperty("DatosUsuario1","ValorDatosUsuario1");
myUserData.setProperty("DatosUsuario2","ValorDatosUsuario2");
// crear y enviar el suceso
myEmitter.addUserDataEvent(misDatosUsuario);
En este ejemplo
se utiliza el método constructor de la clase ECSEmitter para crear un
emisor, pasando el nombre JNDI de un emisor existente de Common Event
Infrastructure. No se pasa un identificador de esfera de correlación de
sucesos (null) y, por lo tanto, no se inicia una nueva
esfera de correlación de sucesos. Si existe una esfera de
correlación de sucesos, el suceso de datos de usuario se añade a esta esfera de
correlación.
A continuación, se prepara un conjunto de propiedades
de datos de usuario. Se añaden pares nombre-valor a una lista de
propiedades.
El último
paso del ejemplo crea y envía un Common Base Event mediante el método
addUserDataEvent de un nuevo emisor. La propiedad extensionName del nuevo Common
Base Event se establece en ECS:UserDataEvent, la situación se
establece en ReportSituation y toda la demás información
obligatoria se facilita mediante automáticamente mediante el entorno de ejecución.