Sun GlassFish Message Queue 4.4 版本說明

Message Queue 4.1 的新功能

Message Queue 4.1 是次要發行版本,包含數項新功能、一些增強功能,以及錯誤修正。本節說明 4.1 發行版本的新功能,並提供您可以使用的進一步參考資料:

如需有關 Message Queue 4.0 中推出之功能的資訊,請參閱Message Queue 4.0 的新功能

高可用性代理程式叢集

Message Queue 4.1 推出新的強化代理程式叢集。傳統代理程式叢集僅提供訊息傳送服務可用性功能 (若代理程式失敗,可使用其他代理程式提供訊息傳送服務) ,相較之下,強化的代理程式叢集還提供資料可用性 (若代理程式失敗,其他代理程式可使用其永久性訊息與狀態資料以接管訊息傳送工作)。

Message Queue 4.1 推出的高可用性實作,使用共用的 JDBC 資料存放區:代理程式叢集中的每個代理程式沒有獨立永久資料存放區,而是由叢集中的所有代理程式共用一個 JDBC 相容資料庫。若某個特定的代理程式故障,叢集中的其他代理程式會代替故障的代理程式發送訊息。由此,容錯移轉代理程式即可使用共用資料存放區中的資料與狀態資訊。失敗之代理程式的訊息傳送用戶端會重新連線至容錯移轉代理程式,以提供不間斷的訊息傳送服務。

Message Queue 4.1 高可用性實作中所使用的共用 JDBC 存放區本身必須也具備高可用性。若沒有高度可用的資料庫,或者訊息傳送不中斷對您而言不重要,則可繼續使用傳統叢集,其提供不包含資料可用性的服務可用性。

若要配置 Message Queue 4.1 強化代理程式叢集,請為叢集中的每個代理程式指定下列代理程式特性:

若要使用強化的代理程式叢集實作,必須執行下列作業:

  1. 安裝高可用性資料庫。

  2. 安裝 JDBC 驅動程式 .jar 檔案。

  3. 為高度可用的永久資料存放區建立資料庫模式。

  4. 為叢集中的每個代理程式設定高可用性特性。

  5. 啟動叢集中的每個代理程式。

如需有關強化之代理程式叢集的概念性討論,及其與傳統叢集之比較,請參閱「Sun GlassFish Message Queue 4.4 Technical Overview」中的第 4 章「Broker Clusters」。如需有關強化代理程式叢集的逐步說明及參考資訊,請參閱「Sun GlassFish Message Queue 4.4 Administration Guide」中的第 10 章「Configuring and Managing Broker Clusters」「Sun GlassFish Message Queue 4.4 Administration Guide」中的「Cluster Configuration Properties」

若搭配 Message Queue 4.0 使用高可用性的資料庫,且想切換成強化的代理程式叢集,可使用資料庫管理者公用程式 (imqdbmgr) 轉換為共用的永久資料存放區。另請參閱代理程式叢集,以深入瞭解已知問題與限制。

JAAS 支援

除了檔案式與 LDAP 式內建認證機制之外,Message Queue 4.1 也推出 Java 認證與授權服務 (JAAS) 的支援,可讓您將外部認證機制外掛到代理程式,以認證 Message Queue 用戶端。

如需了解代理程式提供給 JAAS 相容認證服務的資訊,以及如何配置代理程式以使用此類服務的說明,請參閱「Sun GlassFish Message Queue 4.4 Administration Guide」中的「Using JAAS-Based Authentication」

永久資料存放區格式變更

Message Queue 4.1 已變更 JDBC 資料存放區,以支援強化的代理程式叢集。因此,410 版增加了 JDBC 資料存放區格式。格式版本 350、370 及 400 會自動遷移至 410 版。

請注意,由於檔案式永久資料存放區的格式沒有任何變更,因此其格式會保持為 370 版。

代理程式環境配置

Message Queue 4.1 環境配置檔案 imqenv.conf 中已增加特性 IMQ_DEFAULT_EXT_JARS。您可以設定此特性,以指定在啟動代理程式時,將外部 .jar 檔案的路徑名稱納入 CLASSPATH。若使用此特性指定外部 .jar 檔案的位置,則不再需要將這些檔案複製到 lib/ext 目錄。外部 .jar 檔案可參照 JDBC 驅動程式或 JAAS 登入模組。下列特性範例指定 JDBC 驅動程式的位置。

IMQ_DEFAULT_EXT_JARS=/opt/SUNWhadb4/lib/hadbjdbc4.jar:/opt/SUNWjavadb/derby.jar

Java ES Monitoring Framework 支援

Message Queue 4.1 推出 Sun Java Enterprise System (Java ES) Monitoring Framework 的支援,可使用共用圖形介面監視 Java ES 元件。此介面利用名為「Sun Java System Monitoring Console」的網路型主控台實作。管理員可使用 [主控台] 檢視效能統計、建立自動監視的規則,以及確認警報。若執行 Message Queue 的同時也執行其他 Java ES 元件,可能會發現使用單一介面管理所有元件比較方便。

如需有關使用 Java ES Monitoring Framework 監視 Message Queue 的資訊,請參閱 XREF。

增強的作業事件管理

在舊版中,只有處於 PREPARED 狀態的作業事件可以由管理員回復。換言之,若屬於分散式作業事件的階段作業未正常終止,作業事件將繼續處於管理員無法清除的狀態。現在於 Message Queue 4.1 中,可使用指令公用程式 (imqcmd) 清除 (回復) 下列狀態的作業事件:STARTEDFAILEDINCOMPLETECOMPLETEPREPARED

為協助您判斷是否可回復特定的作業事件 (特別是當它不為 PREPARED 狀態時),指令公用程式會提供額外的資料,作為 imqcmd query txn 輸出的一部分:它會提供啟動該作業事件的連線 ID,並明確說明作業事件的建立時間。管理員可使用此資訊,決定是否需要回復作業事件。一般說來,管理員應避免提前回復作業事件。

C 用戶端連線的固定連接埠

在 Message Queue 4.1 中,C 用戶端 (例如 Java 用戶端) 現在可連線至固定代理程式連接埠,而不是由代理程式的連接埠對映器服務動態指定的連接埠。若嘗試通過防火牆,或是若基於某些其他原因需要略過連接埠對映器服務,固定連接埠連線會很有用。

若要配置固定連接埠連線,必須同時配置代理程式與 C 用戶端執行階段 (連線的兩端)。例如,若需要透過 ssljms 將用戶端連線至連接埠 1756,請執行下列作業:


備註 –

MQ_SERVICE_PORT_PROPERTY 連線特性已向下相容至 Message Queue 3.7 Update 2。