Sun GlassFish Message Queue 4.4 版本說明

Message Queue 4.3 的新功能

Message Queue 4.3 是包含數項增強功能及錯誤修正的次要發行版本。本節將說明此發行版本所包含的新功能:

通用訊息服務 (UMS)

Message Queue 4.3 採用新的通用訊息服務 (UMS),以及可從任何啟用 http 的裝置存取 Message Queue 的訊息傳送 API。因而幾乎所有應用程式皆可與其他應用程式通訊,並獲得 JMS 傳送穩定性提高及保證送達等優點。此外,UMS 也讓 JMS 訊息傳送功能的延展性更佳,讓訊息傳送用戶端的數量達到網際網路規模。

架構

下圖顯示基本的 UMS 架構:

圖 1–1 UMS 架構

本圖說明 UMS 是非 JMS 用戶端與 JMS 提供者之間的閘道。

在 Web 伺服器中執行的 UMS 不受程式語言和平台限制。UMS 是所有非 JMS 用戶端應用程式及 JMS 提供者之間的閘道。UMS 會接收使用 UMS API 傳送的訊息、將其轉換成 JMS 訊息,再使用 JMS 提供者的原生協定,將訊息傳送至提供者的目標。同樣地,UMS 會從 JMS 提供者的目標中擷取訊息、將其轉換成文字或 SOAP 訊息,再根據用戶端請求,透過 UMS API 將訊息傳送至非 JMS 用戶端。

協定型的 UMS API 簡單且不受程式語言限制,支援 Web 及非 Web 應用程式,且可與程序檔及程式語言一起使用。此 API 有兩種型式:使用表象化狀態傳輸 (Representational State Transfer, REST) 樣式協定的簡單訊息傳送 API,以及將協定嵌入 SOAP 訊息標頭的 XML 訊息傳送 API。但在這兩種狀況下,API 傳送或接收訊息,都僅需要單一的 http 請求。

由於 UMS API 簡單又具彈性,因此 AJAX、.NET、Python、C、Java 及許多其他應用程式,都可將文字訊息及 (或) SOAP (具附件) 訊息傳送至 JMS 目標,或接收來自 JMS 目標的訊息。例如,Python 應用程式可與 .NET 應用程式通訊,iPhone 可與 Java 應用程式通訊等。

在 Message Queue 4.3 中,UMS 僅支援以 Message Queue 當作 JMS 提供者。

其他功能

UMS 的功用不僅止於上述的簡單閘道,還支援有狀態及無狀態的用戶端階段作業。用戶端若提出請求,UMS 會在多項服務請求之間都維持用戶端應用程式的階段作業狀態。UMS 可使用以容器管理的認證,或配置成以 Message Queue 代理程式認證用戶端,或兩者都用。UMS 也支援作業事件,讓用戶端應用程式得以確定多項服務請求,或將其回復為單一不可分割的單元。

因為 UMS 支援大量用戶端以單一連線連接到 Message Queue 代理程式,所以可緩和代理程式連線服務的負載,以達到最佳的延展性。此外,您可水平擴充 UMS 的處理能力,允許網際網路規模的訊息傳送負載。

在用戶端部分,因為協定型 UMS API 非常簡單,因而不需要用戶端程式庫。所以,API 未來可擴充 API 以實作其他 JMS 功能,而不必升級用戶端應用程式。

使用 UMS

若要使用 UMS,請將 UMS 部署至支援 Servlet 2.4 或更高規格的 Web 容器中,然後啟動 Message Queue 代理程式,再建立適當的目標,最後撰寫使用 UMS API 傳送或接收訊息的訊息傳送應用程式。

包含在 Message Queue 4.3 發行軟體中的 UMS imqums.war 檔案,安裝在下列因平台而異的位置中:

您可將 .war 檔案重新命名為適當的名稱。

表 1–5 imqums.war 檔案的位置

平台 

imqums.war 的位置

Solaris 

/usr/share/lib/imq

Linux 

/opt/sun/mq/share/lib

AIX 

IMQ_HOME/lib

Windows 

IMQ_HOME\lib

imqums.war 部署至位於 localhost:port 的 Web 容器之後,即可在下列位置找到 UMS 文件:

http://localhost:port/imqums

否則可找到 UMS 文件,如下所示:

支援的 Web 容器

下列 Web 容器目前都支援 UMS:

AIX 平台支援

Message Queue 4.3 提供 AIX 平台套裝軟體,以及安裝這些軟體的安裝程式。

Message Queue AIX 實作支援下列軟體:

如需安裝說明,請參閱「Sun GlassFish Message Queue 4.4 Installation Guide」中的第 4 章「AIX Installation」

在 AIX 平台中,Message Queue 檔案會安裝在單一 Message Queue 的主目錄 IMQ_HOME 下。IMQ_HOME 表示目錄 mqInstallHome/mq,其中 mqInstallHome 為安裝產品時所指定的安裝主目錄 (預設為 home-directory /MessageQueue)。

所產生的 Message Queue 目錄結構與 Windows 平台的目錄結構相同 (請參閱「Sun GlassFish Message Queue 4.4 Administration Guide」中的附錄 A「Platform-Specific Locations of Message Queue Data」之 Windows 一節)。

Message Queue 支援 AIX 平台,包括對 Message Queue C-API 的支援。如需在 AIX 平台上建立及編譯 C 應用程式的說明,請參閱 XREF。

新的 Zip 安裝程式

Message Queue 4.3 採用新的 Zip 發行軟體安裝程式,與原生套裝發行軟體大相逕庭。此安裝程式的功能是安裝適用於 AIX 平台的 Message Queue .zip 新發行軟體。

新的安裝程式可將 Message Queue .zip 檔案解壓縮至您具有寫入存取權 (不需要超級使用者權限 ) 的任何目錄,也可讓您向 Sun Connection 註冊 Message Queue 安裝。

zip 發行軟體中已不再包含 Java Runtime (大部分的網站都已有),以將下載的隨附軟體大小減至最小。所以,installer 指令會要求以 JAVA_HOME 環境變數 (或在指令行使用 -j 選項) 指定 JDK 或 JRE,如下所示:

$ installer -j JDK/JRE-path

此處的 JDK/JRE-path 是指定的 JDK 或 JRE 路徑。

擴充平台支援

Message Queue 4.3 會申請下列更新平台的支援認證標章:

其他增強功能

Message Queue 4.3 包含下列其他增強功能:

Windows 平台上的新目錄結構

Windows 平台上 Message Queue 的安裝目錄結構,已從舊版的結構修改成符合 AIX 平台的結構。Solaris 及 Linux 平台日後也將採用此目錄結構,以利在單一電腦上執行多項安裝作業,以及透過 Sun Connection 自動更新 Message Queue;Sun Connection 是可協助您追蹤、組織及維護 Sun 軟硬體的 Sun 代管服務 (請參閱Sun Connection 註冊的安裝程式支援)。

新代理程式特性

下列新特性可供配置代理程式使用:

表 1–6 代理程式路由及傳送特性

特性 

類型 

預設值 

說明 

imq.transaction.producer.maxNumMsgs

整數 

1000

產生器在單一作業事件中可處理的訊息數上限。建議使用小於 5000 的值,以防止耗盡資源。 

imq.transaction.consumer.maxNumMsgs

整數 

100

用戶在單一作業事件中可處理的訊息數上限。建議使用小於 1000 的值,以防止耗盡資源。 

imq.persist.jdbc.connection.limit

整數 

5

資料庫可以開啟的連線數上限。 

JMX 管理 API 增強功能

JMX API 已增加新屬性及複合資料索引鍵 ,如下所示:

如需更多資訊,請參閱「Sun GlassFish Message Queue 4.4 Developer’s Guide for JMX Clients 」中的第 3 章「Message Queue MBean Reference」

列出萬用字元用戶的長期訂閱

列出長期訂閱的指令:

list dur [-d topicName]

已經強化,因此已經不一定要指定主題名稱。若未指定主題,該指令會列出全部主題的所有長期訂閱 (包括使用萬用字元命名慣例者)。