Sun GlassFish Message Queue 4.4 版本說明

Message Queue 4.0 的新功能

Message Queue 4.0 是僅支援 Application Server 9 PE 的次要發行版本。它包含數項新功能、一些增強功能,以及錯誤修正。本節說明此發行版本的新功能:


注意 – 注意 –

4.0 版推出的其中一個變更雖然次要,但可能造成重大改變,亦即停用以指令行指定密碼的選項。因此,您必須如已停用的密碼選項中所述,將所有密碼儲存在檔案中,或在提示時輸入密碼。


JMX 管理 API 的支援

Message Queue 4.0 中已增加符合 Java Management Extensions (JMX) 規格,且可用於配置與監視 Message Queue 代理程式的新 API。您可以使用此 API,從 Java 應用程式內以程式設計方式配置並監視代理程式功能。在 Message Queue 的舊版中,您只能從指令行管理公用程式或從 [管理主控台] 存取這些功能。

如需更多資訊,請參閱「Sun GlassFish Message Queue 4.4 Developer’s Guide for JMX Clients」

用戶端執行階段記錄

Message Queue 4.0 推出對用戶端執行階段記錄連線與階段作業相關事件的支援。

如需有關用戶端執行階段記錄以及如何加以配置的資訊,請參閱「Java Dev Guide」的第 137 頁。

連線事件通知 API

Message Queue 4.0 推出的事件通知 API,可讓用戶端執行階段通知應用程式有關連線狀態的變更。連線事件通知可讓 Message Queue 用戶端偵聽關閉事件與重新連線事件,並根據通知類型與連線狀態採取適當的動作。例如,當發生容錯移轉且用戶端重新連線至其他代理程式時,應用程式最好清除作業事件狀態,並進行新的作業事件。

如需有關連線事件以及如何建立事件偵聽程式的資訊,請參閱「Java Dev Guide」的第 96 頁。

代理程式管理增強功能

在 Message Queue 4.0 中,指令公用程式 (imqcmd) 已增加新的子指令及數個指令選項,可讓管理員靜止代理程式、在指定間隔之後關閉代理程式、銷毀連線,或設定 Java 系統特性 (例如連線相關特性)。

如需有關 imqcmd 指令的完整語法資訊,請參閱「Sun GlassFish Message Queue 4.4 Administration Guide」中的第 16 章「Command Line Reference」

顯示有關 JDBC 資料存放區的資訊

在 Message Queue 4.0 中,資料庫管理者公用程式 imqdbmgr 已新增 query 子指令。此子指令可用以顯示關於 JDBC 資料存放區的資訊,包含資料庫版本、資料庫使用者,以及是否已建立資料庫表格。

以下是該指令所顯示之資訊的範例。


imqdbmgr query

[04/Oct/2005:15:30:20 PDT] Using plugged-in persistent store:
        version=400
        brokerid=Mozart1756
        database connection url=jdbc:oracle:thin:@Xhome:1521:mqdb
        database user=scott
Running in standalone mode.
Database tables have already been created.

JDBC 提供者支援

在 Message Queue 4.0 中,現在支援 Apache Derby 10.1.1 版作為 JDBC 資料存放區提供者。

永久資料存放區格式變更

Message Queue 4.0 已變更用於最佳化與支援未來增強功能的 JDBC 資料存放區。因此,400 版增加了 JDBC 資料存放區格式。請注意,Message Queue 4.0 中的檔案資料存放區版本仍為 370,因為未對其進行任何變更。

其他訊息特性

Message Queue 4.0 增加了兩個新特性,可對置於停用訊息佇列中的所有訊息進行設定。

SSL 支援

自 Message Queue 4.0 起,用戶端連線工廠特性 imqSSLIsHostTrusted 的預設值為 false。若應用程式相依於之前的預設值 true,即需要重新配置並將特性明確設定為 true

當代理程式配置為使用自我簽署的憑證時,您可以選擇信任主機。此時,除了指定連線應使用基於 SSL 的連線服務 (使用 imqConnectionType 特性),還應該將 imqSSLIsHostTrusted 特性設定為 true。

例如,若要在代理程式使用自我簽署的憑證時安全地執行用戶端應用程式,請使用如下的指令。

java -DimqConnectionType=TLS 
      -DimqSSLIsHostTrusted=true ClientAppName

若要在代理程式使用自我簽署的憑證時安全地使用指令公用程式 (imqcmd),請使用類似如下的指令 (用於列出連接器服務)。

imqcmd list svc -secure -DimqSSLIsHostTrusted=true