Sun Java System Messaging Server 6.3 管理指南

附錄 B 在 Messaging Server 中管理事件通知服務

本附錄說明要在 Messaging Server 啟用事件通知服務發佈程式 (ENS 發佈程式) 以及管理事件通知服務 (ENS) 所需要執行的作業。

本章附錄包含以下各節:

如需有關 ENS 和 ENS API 的更多資訊,請參閱「Sun Java Communications Suite 5 Event Notification Service Guide」

B.1 在 Messaging Server 上載入 ENS 發佈程式

事件通知服務 (ENS) 是基本的發佈/訂閱服務。ENS 做為派送程式,由 Sun Java System 應用程式用做收集其所需的某些類型事件的中心點。 事件是資源的一個或多個屬性值的變更。任何想瞭解何時發生這些類型的事件的應用程式,均可註冊可按次序識別事件並使通知與訂閱相符。

從 Messaging Server 開始,ENS 和 iBiff (Messaging Server 的 ENS 發佈程式) 綑綁在一起。依預設,ENS 為啟用狀態,但未載入 iBIFF。(請參閱B.1 在 Messaging Server 上載入 ENS 發佈程式

若要訂閱 Messaging Server 的通知服務,需要先在 Messaging Server 主機上載入 libibiff 檔案,然後停止並重新啟動 Messaging Server。

Procedure在 Messaging Server 上載入 ENS 發佈程式

從指令行執行以下步驟。在這些步驟中,Messaging Server 安裝目錄的位置為 msg-svr-base,使用者為 inetuser。這些變數的典型值分別為 /opt/SUNWmsgsrmailsrv

  1. 若為 mailsrv,請執行 configutil 公用程式載入 libibiff 檔案。


    cd msg-svr-base
    ./configutil -o "local.store.notifyplugin" -v "msg-svr-base/lib/libibiff"
    
  2. 若為 root,請停止然後重新啟動 Messaging Server。

    cd msg-svr-base/sbin

    ./stop-msg

    ./start-msg

  3. 現在您便可以透過 ENS 接收通知。請參閱B.2 執行範例事件通知服務程式

B.2 執行範例事件通知服務程式

Messaging Server 包含的範例程式可協助您瞭解如何接收通知。這些範例程式位於 msg-svr-base/examples 目錄中。

Procedure執行範例 ENS 程式

  1. 請變更至 msg-svr-base/examples 目錄。

  2. 使用 C 編譯器,編譯使用 Makefile.sample 檔案的 apubasub 範例。將程式庫搜尋路徑設定為包含 msg-svr-base/examples 目錄。

  3. 程式編譯完成後,您可以按以下方法在單獨視窗中執行它們:

    apub localhost 7997

    asub localhost 7997

    apub 視窗中鍵入的任何內容均應顯示在 apub 視窗中。此外,如果使用預設設定,則所有 iBiff 通知均應顯示在 asub 視窗中。

  4. 若要接收 iBiff 發佈的通知,請撰寫與 asub.c 類似的程式

    如需有關範例程式以及編寫本身之 ENS 程式的更多資訊,請參閱「Sun Java Communications Suite 5 Event Notification Service Guide」


    備註 –

    將程式庫搜尋路徑設定為包含 msg-svr-base/lib 目錄後,便無法再停止和啟動 Directory Server。解決方法是將項目從程式庫搜尋路徑中移除。


B.3 管理事件通知服務

管理 ENS 包括啟動和停止該服務,以及變更配置參數以控制 ENS 的 iBiff 發佈程式之運作方式。

B.3.1 啟動和停止 ENS

可以使用 start-msg ensstop-message ens 指令來啟動和停止 ENS 伺服器。必須為 root 使用者才可以執行這些指令。

Procedure啟動和停止 ENS

  1. 啟動 ENS:

    msg-svr-base/sbin/start-msg ens

    • 停止 ENS:

      msg-svr-base/sbin/stop-msg ens

B.3.2 事件通知服務配置參數

有數個配置參數可以控制 iBiff 的運作方式。可以使用 configutil 公用程式來設定這些參數。

表 B–1 iBiff 配置參數

參數 

說明 

local.store.notifyplugin.maxHeaderSize

指定將與通知一起傳輸的標頭之最大大小 (以位元組為單位)。預設為 0 位元組。 

local.store.notifyplugin.maxBodySize

指定將與通知一起傳輸的內文之最大大小 (以位元組為單位)。預設為 0 位元組。 

local.store.notifyplugin.eventType.enable

指定指定事件類型是否將產生通知。合法值是 1 (啟用) 和 0 (停用)。預設值是 1;亦即,將 local.store.notifyplugin.ReadMsg.enable 設定為 0 會停用 ReadMsg 通知。

local.store.notifyplugin.ensHost

指定 ENS 伺服器的主機名稱。預設為 127.0.0.1

local.store.notifyplugin.ensPort

指定 ENS 伺服器的 TCP 連接埠。預設為 7997

local.store.notifyplugin.ensEventKey

指定要用於 ENS 通知的事件金鑰。預設為 enp://127.0.0.1/store。事件金鑰的主機名稱部分不用於決定 ENS 主機。它僅是 ENS 使用的唯一識別碼。

訂閱者應訂閱此金鑰,以便收到符合該金鑰的事件通知。