啟用保證事件遞送

您可以使用下列其中一種方式來為具有 JMS 功能的連接器配置保證事件遞送功能:

具有 JMS 事件儲存庫的連接器之保證事件遞送

如果具有 JMS 功能的連接器使用 JMS 佇列來實作其事件儲存, 連接器組織架構可作為「儲存器」並管理 JMS 事件儲存庫 (JMS 來源佇列)。以單一 JMS 交易而言,連接器可將訊息從來源佇列移除,並放置到目的地佇列上。本節提供下列資訊,內容是關於如何針對具有 JMS 事件儲存庫且具有 JMS 功能的連接器來使用保證事件遞送功能:

對具有 JMS 事件儲存庫的連接器啟用此功能

若要對具有 JMS 事件儲存庫且具有 JMS 功能的連接器啟用保證事件遞送功能, 請將連接器配置內容設為表 9 中所顯示的值。

表 9. 具有 JMS 事件儲存庫之連接器的保證事件遞送連接器內容
連接器內容
DeliveryTransport JMS
ContainerManagedEvents JMS
PollQuantity 事件儲存庫單一輪詢中處理的事件數目
SourceQueue

JMS 來源佇列 (事件儲存庫) 的名稱,連接器組織架構會輪詢該佇列,並且從中擷取事件來處理

註:
來源佇列與其他 JMS 佇列應該是相同佇列管理程式的一部份。 如果連接器的應用程式所產生的事件儲存在不同的佇列管理程式中,您必須在遠端佇列管理程式上定義一個遠端佇列定義。 如此,WebSphere MQ 即可將事件從遠端佇列轉送到佇列管理程式,具有 JMS 功能的連接器用此佇列管理程式來傳輸到整合分配管理系統。有關如何配置遠端佇列定義的資訊,請參閱 IBM WebSphere MQ 文件。

除了配置連接器之外,您還必須配置資料處理常式,以便在 JMS 儲存庫事件與商業物件之間進行轉換。這個資料處理常式資訊是由表 10 彙總的連接器配置內容組成。

表 10. 保證事件遞送的資料處理常式內容
資料處理常式內容 必要?
MimeType 資料處理常式處理的 MIME 類型。 這個 MIME 類型可識別要呼叫的資料處理常式。
DHClass 實作資料處理常式的 Java 類別完整名稱
DataHandlerConfigMOName 建立 MIME 類型及其資料處理常式關聯性的最上層 Meta 物件名稱 選用

註:
資料處理常式配置內容位於含有其他連接器配置內容的連接器配置檔中。

如果配置具有 JMS 事件儲存庫的連接器來使用保證事件遞送,您必須如表 9 表 10 中所述來設定連接器內容。若要設定這些連接器配置內容, 請使用「連接器配置程式」工具。「連接器配置程式」會在其「標準內容」標籤上顯示表 9 中的連接器內容。而會在其「資料處理常式」標籤上顯示表 10 中的連接器內容。

註:
唯有當 DeliveryTranspor 連接器配置內容設為 JMSContainerManagedEvents 也設為 JMS 時,「連接器配置程式」才會啟用其「資料處理常式」標籤上的欄位。

如需「連接器配置程式」的相關資訊,請參閱附錄 B, 連接器配置程式

事件輪詢的影響

如果連接器藉由將 ContainedManagedEvents 設為 JMS 來 使用保證事件遞送,其操作方式與不使用此功能的連接器稍有不同。為提供受儲存器管理的事件, 連接器組織架構採取下列步驟來輪詢事件儲存庫:

  1. 啟動 JMS 交易。
  2. 從事件儲存庫讀取 JMS 訊息。

    事件儲存庫實作為 JMS 來源佇列。JMS 訊息包含事件記錄。您可以從 SourceQueue 連接器配置內容取得 JMS 來源佇列的名稱。

  3. 呼叫資料處理常式將事件轉換成商業物件。

    連接器組織架構會呼叫已使用表 10 中的內容來配置的資料處理常式。

  4. 當 WebSphere MQ Integrator Broker 是整合分配管理系統時,依據配置的線上傳輸格式 (XML),將商業物件轉換成訊息。
  5. 將結果訊息傳送到 JMS 目的地佇列。
    如果您使用 WebSphere ICS 整合分配管理系統,則傳送到 JMS 目的地佇列的訊息是商業物件。如果您使用 WebSphere MQ Integrator Broker,則傳送到 JMS 目的地佇列的訊息是 XML 訊息 (它是由資料處理常式產生的)。
  6. 確定 JMS 交易。

    當 JMS 交易確定後,訊息會寫入 JMS 目的地佇列,並從相同交易中的 JMS 來源佇列移除。

  7. 以循環方式重複步驟 16PollQuantity 連接器內容可決定這個循環中的重複次數。

重要事項:
ContainerManagedEvents 內容設為 JMS 的連接器, 不會呼叫 pollForEvents() 方法來執行事件輪詢。 如果連接器的基本類別包含 pollForEvents() 方法,則呼叫此方法。

具有非 JMS 事件儲存庫的連接器之保證事件遞送

如果具有 JMS 功能的連接器使用非 JMS 解決方案來實作其事件儲存庫 (例如,JDBC 事件表格、電子郵 件信箱或純文字檔),連接器組織架構可使用重複事件排除來確保不會發生重複的事件。 本節提供下列資訊,內容是關於如何針對具有非 JMS 事件儲存庫且具有 JMS 功能的連接器來使用保證事件遞送功能:

對具有非 JMS 事件儲存庫的連接器啟用此功能

若要對具有非 JMS 事件儲存庫且具有 JMS 功能的連接器啟用保證事件遞送功能,請將連接器配置內容設為表 11 中所顯示的值。

表 11. 具有非 JMS 事件儲存庫之連接器的保證事件遞送連接器內容
連接器內容
DeliveryTransport JMS
DuplicateEventElimination true
MonitorQueue

連接器組織架構將已處理商業物件的 ObjectEventId 儲存在其中的 JMS 監視器佇列名稱

如果配置連接器來使用保證事件遞送,您必須如表 11 中 所述來設定連接器內容。若要設定這些連接器配置內容, 請使用「連接器配置程式」工具。它會在本身的「標準內容」標籤上顯示這些連接器 內容。如需「連接器配置程式」的相關資訊,請參閱附錄 B, 連接器配置程式

事件輪詢的影響

如果連接器藉由將 DuplicateEventElimination 設為 true 來使用保 證事件遞送,其操作方式與不使用此功能的連接器稍有不同。為提供重複事件排除,連接器組織架構使用 JMS 監視器佇列來追蹤商業物件。您可以從 MonitorQueue 連接器配置內容取得 JMS 監視器佇列名稱。

連接器組織架構從特定應用程式元件接收商業物件後 (透過在 pollForEvents() 方 法中呼叫 gotApplEvent()),它必須判斷現行商業物件 (從 gotApplEvents() 接收) 是否代表重複事件。為做出判定,連接器組織架構會從 JMS 監視器佇列擷取商業物件,然後將其 ObjectEventId 與現行商業物件的 ObjectEventId 相互比較:

為了讓具有 JMS 功能的連接器能夠支援重複事件排除,您必須確定連接器的 pollForEvents() 方法包含下列步驟:

Copyright IBM Corp. 1997, 2003