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

Alteración temporal de los valores actuales de emisor

Los consumidores de sucesos pueden cambiar los valores de perfil de la fábrica de emisores.

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

Cuando envía un suceso, puede especificar opciones que alteren temporalmente la modalidad de transacción actual, la modalidad de sincronización, o ambas, configuradas actualmente para el emisor. Estos valores los define inicialmente un administrador en el perfil de la fábrica de emisores, pero los consumidores de sucesos pueden modificarlos posteriormente.

Es posible que un emisor no admita todas las modalidades de sincronización y transacción. Las modalidades disponibles están sujetas a las limitaciones siguientes: Si intenta usar una modalidad que no está soportada, el emisor emite una excepción TransactionModeNotSupportedException o SynchronizationModeNotSupportedException.

Pasos para realizar esta tarea

Para alterar temporalmente los valores de emisor, utilice el método sendEvent(CommonBaseEvent, int, int).
String eventId = emitter.sendEvent(suceso,
                                   modalidad_sincronización,
                                   modalidad_transacción);
Los parámetros son los siguientes:
suceso
El objeto de suceso (una instancia de CommonBaseEvent) que desea enviar.
modalidad_sincronización
Un valor entero constante que define la interfaz SynchronizationMode. Debe ser una de las constantes siguientes:
  • SynchronizationMode.ASYNCHRONOUS (enviar el suceso de forma asíncrona)
  • SynchronizationMode.SYNCHRONOUS (enviar el suceso de forma síncrona)
  • SynchronizationMode.DEFAULT (enviar el valor de emisor actual)
modalidad_transacción
Un valor entero constante que define la interfaz TransactionMode:
  • TransactionMode.NEW (enviar el suceso en una nueva transacción)
  • TransactionMode.SAME (enviar el suceso en la transacción actual)
  • TransactionMode.DEFAULT (enviar el valor de emisor actual)

Resultado

El suceso se envía con las opciones que especifique. Estas opciones se aplican solamente al suceso que se envía; no se efectúan cambios en los valores del emisor, y los envíos de sucesos posteriores no se ven afectados.

El valor devuelto, eventId, es el identificador exclusivo global del suceso (el valor del campo globalInstanceId de CommonBaseEvent). Si el suceso no tiene un identificador de instancia global (globalInstanceId) cuando lo envía, el emisor le asignará uno automáticamente.

Nota: El envío de un suceso a un emisor no garantiza que el suceso se envíen al servidor de sucesos, porque la configuración del filtro puede provocar que se descarte el suceso. Una llamada correcta a sendEvent() significa únicamente que el emisor ha procesado ese suceso correctamente.

Ejemplo

En el ejemplo siguiente se altera temporalmente el valor del emisor para enviar un suceso en una nueva transacción, pero no se altera la modalidad de sincronización:
String eventId = sendEvent(event,
                           SynchronizationMode.DEFAULT,
                           TransactionMode.NEW);

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