WebSphere WebSphere Enterprise Service Bus, Version 6.0.1 作業系統: AIX, HP-UX, Linux, Solaris, Windows

置換現行發射器設定

事件使用端可變更發射器 Factory 設定檔的設定。

執行這項作業的原因和時機

在傳送事件時,您可以指定選項來置換目前配置給發射器的現行交易模式、同步化模式,或兩者。 這些設定一開始是由管理者在發射器 Factory 設定檔中定義的,但稍後事件使用端可以變更它們。

發射器不一定支援所有的同步化和交易模式。可用的模式受到下列限制: 如果您試圖使用不受支援的模式,發射器將擲出 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 是事件的廣域唯一 ID(CommonBaseEvent 的 globalInstanceId 欄位值)。如果事件沒有 globalInstanceId,當您送出時,發射器會自動指派一個值。

註: 送出事件給發射器並不保證事件會傳給事件伺服器, 因為過濾器設定可能會導致捨棄事件。成功呼叫 sendEvent() 只表示發射器已順利處理該事件。

範例

下列範例將置換發射器設定,在新交易傳送事件,但不會置換同步化模式:
String eventId = sendEvent(event,
                           SynchronizationMode.DEFAULT,
                           TransactionMode.NEW);

Task topic

使用條款 | 此頁的評等

「時間戳記」圖示前次更新: 5 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. All Rights Reserved.
本資訊中心採用 Eclipse 技術。(http://www.eclipse.org)