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

Creación y llenado de un suceso

Después de obtener una fábrica de sucesos, puede crear objetos de sucesos y llenarlos con datos de propiedades.

Por qué y cuándo se efectúa esta tarea

La mayoría de propiedades de sucesos se definen como opcionales en la especificación de suceso básico común, pero las propiedades siguientes son necesarias:
Nota: El atributo version está definido como opcional en la especificación de suceso básico común, pero si no se especifica, se supone el valor predeterminado 1.0. Debido a que Common Event Infrastructure sólo admite la versión 1.0.1 de la especificación, este valor debe especificarse.

Si intenta enviar un suceso al que le falta alguna de estas propiedades, el emisor rechazará el suceso y emitirá una excepción EventsException.

El fragmento de código siguiente crea un suceso y lo llena con los datos de propiedad mínimos necesarios:

CommonBaseEvent event = eventFactory.createCommonBaseEvent();

event.setVersion("1.0.1");                     // establecer versión

long currentTime = System.currentTimeMillis(); // obtener hora actual
event.setCreationTimeAsLong(currentTime);      // y establecer creationTime

// establecer sourceComponentId (tipo complejo)
event.setSourceComponentId("Windows",          // aplicación
                           "svchost.exe",      // componente
                           "tlntsvr.exe",      // subcomponente
                           "http://www.ibm.com/namespaces/autonomic/Windows",
                                               // componentType
                           "win386_svc",       // componentIdType
                           "9.45.72.138",      // location
                           "IPV4"              // locationType
                           );

// crear objeto de situación
Situation situation = eventFactory.createSituation();

// establecer situationType en AvailableSituation (tipo complejo)
situation.setAvailableSituation("EXTERNAL",          // reasoningScope
                                "NOT AVAILABLE",     // availabilityDisposition
                                "STARTABLE",         // operationDisposition
                                "FUNCTION_PROCESS"); // processingDisposition

// establecer situación
event.setSituation(situation);

En este ejemplo primero se utiliza la fábrica de sucesos para crear una nueva instancia de suceso, suceso. Primero establece la propiedad version; a continuación, recupera la hora actual del sistema y utiliza el método setCreationTimeAsLong(long) para establecer el valor de la propiedad creationTime. Una alternativa consiste en usar el método setCreationTime(serie), que establece la hora de creación utilizando el formato dateTime de XML (por ejemplo, "2004-07-29T13:12:00-05:00").

La siguiente propiedad necesaria, sourceComponentId, es una propiedad compleja representada mediante una instancia de ComponentIdentification, que a su vez tiene propiedades. Sin embargo, no es necesario crear una instancia directamente o interactuar con este objeto (aunque es posible). En su lugar, la siguiente sentencia del ejemplo utiliza un método de ayuda, setSourceComponentId(), para especificar las propiedades anidadas; el método de ayuda utiliza estos valores para crear una instancia de ComponentIdentification, que se utiliza para establecer el valor de la propiedad sourceComponentId del suceso.

Existen métodos de ayuda similares para establecer otras propiedades complejas (por ejemplo, setMsgDataElement(), addAssociatedEvent y addExtendedDataElement()). Muchos de estos métodos existen en varias versiones con diferentes signaturas, lo que permite especificar valores de propiedades de diferentes maneras. Consulte la documentación de la API Javadoc para obtener información completa sobre estos métodos.

La última propiedad necesaria del ejemplo, Situation, es otra propiedad compleja. En este caso, debe crearse una instancia del objeto de situación directamente utilizando una fábrica de sucesos; a continuación, el ejemplo utiliza un método de ayuda para establecer la propiedad situationType, que a su vez constituye un subelemento complejo.

En una aplicación real, un suceso correcto necesita incluir más información que la que aquí se muestra, pero este es el mínimo que requiere la especificación de suceso básico común y Common Event Infrastructure. El suceso ya es válido y puede enviarse a un emisor.


Task 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\tcei_admin_populatingEvent.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)