Sun Java System Messaging Server 6 2005Q4 管理指南

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

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

本章附錄包含以下各節:

如需有關 ENS 和 ENS API 的更多資訊,請參閱「Sun Java System Communications Services 6 2005Q4 Event Notification Service Guide」

在 Messaging Server 中載入 ENS 發佈程式

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

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

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

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

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

步驟
  1. 若為 inetuser,請執行 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 接收通知。請參閱執行範例事件通知服務程式

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

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 System Communications Services 6 2005Q4 Event Notification Service Guide」


    備註 –

    將程式庫搜尋路徑設定為包含 msg_svr_base/lib 目錄後,便無法再停止和啟動目錄伺服器。解決方法是將項目從程式庫搜尋路徑中移除。


管理事件通知服務

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

啟動和停止 ENS

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

Procedure啟動和停止 ENS

步驟

    啟動 ENS:

    msg_svr_base/sbin/start-msg ens

    • 停止 ENS:

      msg_svr_base/sbin/stop-msg ens

事件通知服務配置參數

有數個配置參數可以控制 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 使用的唯一識別碼。

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