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

Cómo cumplimentar el contenido de los sucesos automáticamente

Mediante el establecimiento de propiedades y políticas, el contenido de un suceso puede cumplimentarse automáticamente.

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

En algunas situaciones, es posible que desee establecer determinados datos automáticamente por cada suceso que cree. Se trata de una manera de cumplimentar determinados valores estándar que no cambian (como el nombre de la aplicación) o establecer determinadas propiedades en función de la información disponible del entorno de ejecución (como la hora de creación o la información de hebra). También puede establecer políticas que rigen el contenido de los sucesos de acuerdo con reglas empresariales; por ejemplo, puede exigir que se establezca un cierto nivel gravedad para los sucesos con un determinado nombre de extensión.

Puede llevar esto a cabo creando un manejador de contenido. Un manejador de contenido es un objeto que establece automáticamente los valores de propiedades de cada suceso basado en políticas arbitrarias que desee utilizar. Common Event Infrastructure no limita hasta qué punto el manejador de contenido puede modificar los datos de un suceso, siempre que el suceso se ajuste a la especificación de suceso básico común.

Para garantizar que todos los orígenes de sucesos cumplen las mismas políticas, puede crear una fábrica de sucesos asociada a un manejador de contenido (utilizando EventFactoryFactory) y, a continuación, enlazar la fábrica de sucesos creada al espacio de nombres JNDI. En lugar de crear su propias fábricas de sucesos, los orígenes de sucesos pueden realizar búsquedas JNDI para acceder a la fábrica de sucesos que ya existe, sin conocimiento del manejador de contenido. Si posteriormente cambian las reglas empresariales, puede modificar el manejador de contenido.

Un origen de sucesos no necesita realizar nada para permitir que se cumplimente el contenido. Si una fábrica de sucesos se asocia a un manejador de contenido, cada suceso que cree llevará una referencia a ese manejador de contenido. Cuando el suceso se envíe a un emisor, el suceso llamará al método completeEvent() del manejador de contenido, que pasará una referencia al mismo. De este modo se garantiza que se apliquen las políticas correctas al suceso después de que el origen de sucesos haya acabado de establecer propiedades específicas de sucesos, pero antes de que el emisor valide y procese el suceso.
Nota: Cuando se transmite un suceso de un proceso a otro, la referencia al manejador de contenido no se transmite con él. Esto se debe a que el entorno en que se origina el entorno determina cómo se cumplimenta el contenido, y es posible que la información necesaria no esté disponible en otros lugares. Esta restricción no afecta a llamadas entre aplicaciones que son locales la una en relación con la otra (por ejemplo, una llamada a un enterprise bean utilizando su interfaz local).

Para crear un manejador de contenido, siga estos pasos:

Pasos para realizar esta tarea

  1. Cree una nueva clase Java que implemente la interfaz org.eclipse.hyades.logging.events.cbe.ContentHandler. Esta interfaz define un método único llamado completeEvent(CommonBaseEvent); el parámetro es el suceso cuyo contenido debe completarse. En la implementación de este método, puede usar los métodos getter y setter de CommonBaseEvent para procesar los datos de propiedad del suceso de acuerdo con las políticas pertinentes.
    Nota: Cuando un origen de sucesos utiliza JNDI para recuperar una fábrica de sucesos, el manejador de contenido se devuelve con la fábrica de sucesos. Por este motivo, el manejador de contenido debe ser serializable.

    El ejemplo siguiente representa un manejador de contenido que establece automáticamente el nombre de extensión de cada suceso:

    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. Asocie el manejador de contenido a una fábrica de sucesos. Para ello, especifique el manejador de contenido al crear la fábrica de sucesos:
    EventFactory eventFactory = 
         (EventFactory) EventFactoryFactory.createEventFactory(contentHandler);
    La fábrica de sucesos que se devuelve se asocia permanentemente al manejador de contenido especificado.

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_contentCompletion.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)