WebSphere WebSphere Enterprise Service Bus V6.0.1 操作系统: AIX, HP-UX, Linux, Solaris, Windows

覆盖当前发射器设置

发射器工厂概要文件设置可由事件使用者进行更改。

执行此任务的目的和时间

发送事件时,可以指定选项来覆盖当前为发射器配置的事务方式和/或同步方式。这些设置起初是由管理员在发射器工厂概要文件中定义的,但事件使用者可以对它们进行后续更改。

一个发射器可能不支持所有同步方式和事务方式。可用方式有以下局限性: 如果您尝试使用不受支持的方式,发射器将抛出 TransactionModeNotSupportedException 或 SynchronizationModeNotSupportedException 异常。

完成此任务需要执行的步骤

要覆盖发射器设置,请使用 sendEvent(CommonBaseEvent, int, int) 方法。
String eventId = emitter.sendEvent(event,
                                   synchronizationMode,
                                   transactionMode);
参数如下:
event
要发送的事件对象(CommonBaseEvent 的实例)。
synchronizationMode
由接口 SynchronizationMode 定义的整数常量。它应该是下列其中一个常量:
  • SynchronizationMode.ASYNCHRONOUS(以异步方式发送事件)
  • SynchronizationMode.SYNCHRONOUS(以同步方式发送事件)
  • SynchronizationMode.DEFAULT(使用当前发射器设置)
transactionMode
由接口 TransactionMode 定义的整数常量:
  • TransactionMode.NEW(发送新事务中的事件)
  • TransactionMode.SAME(发送当前事务中的事件)
  • TransactionMode.DEFAULT(使用当前发射器设置)

结果

将使用您指定的选项发送事件。这些选项仅适用于要发送的单个事件;发射器设置未作任何更改,所以后续事件提交不会受到影响。

返回的值 eventId 是事件的全局唯一标识(它是 CommonBaseEvent 的 globalInstanceId 字段的值)。如果事件在提交时没有 globalInstanceId,发射器将自动为它指定一个。

注: 将事件提交给发射器并不能保证将事件发送至事件服务器,原因是过滤器设置可能导致事件被废弃。对 sendEvent() 的成功调用只表示发射器已成功处理该事件。

示例

以下示例覆盖用于在新事务中发送事件的发射器设置,但它并未覆盖同步方式:
String eventId = sendEvent(event,
                           SynchronizationMode.DEFAULT,
                           TransactionMode.NEW);

任务主题

使用条款 | 评价此页

Timestamp icon上次更新时间: 3 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, 2006. All Rights Reserved.
本信息中心基于 Eclipse 技术。(http://www.eclipse.org)