Message Queue 3.7 UR1 包含下列新增功能:
這些資訊都會在下列小節中詳述。
為簡化產品提供,我們合併了 Sun Java Message Queue 的 Platform Edition 與 Enterprise Edition。從 Message Queue 3.7 UR1 開始將只有一個版本,如此可有效取消獨立發行軟體的功能限制。希望此舉能簡化本產品的使用。
合併版本也可以使 Message Queue 與 Solaris Enterprise System 更加一致,使您能長期使用 Enterprise Edition 功能,而無需支援、維護或補充功能。與之前的發行版本相同,我們將繼續提供支援與維護服務的多項授權方案。Java Enterprise System 與 Application Platform Suite 會繼續隨附 Message Queue。請查看位於 http://www.sun.com 的線上商店或洽詢當地銷售代表,以選擇最適合您需求的方案。下表說明升級至新的 Message Queue 單一版本的路徑。
表 1–2 Message Queue 3.7 UR1 的升級路徑
先前的版本 |
升級路徑 |
說明 |
---|---|---|
Platform Edition |
Sun Java System Message Queue 3.7 UR1 |
現在 3.7 UR1 客戶可以使用所有的功能 (Platform 和 Enterprise)。購買授權即可使用支援方案。 |
Enterprise Edition |
Sun Java System Message Queue 3.7 UR1 |
功能未變更。提供多種授權與支援方案。 |
Platform Edition 支援合約 |
升級為 Enterprise Edition 支援合約 |
先前的 Platform Edition 發行版本的現有支援合約可繼續續約。Sun 不會為先前的 Platform Edition 發行版本核發新的 Platform Edition 合約。 |
Enterprise Edition 支援合約 |
無變更 |
現有合約可繼續續約。會核發新的合約。 |
下表說明各項 Message Queue 產品的提供來源變更。
表 1–3 Message Queue 產品的提供來源變更
產品 |
先前的提供來源 |
新的提供來源 |
說明 |
Open Message Queue |
不適用 |
Sun 下載中心的產品頁面 |
獨立下載。僅支援社群。無支援合約。 |
Message Queue Platform Edition |
透過 Sun 下載中心的 Message Queue 產品頁面 |
不再提供 |
現在僅提供合併 Platform 和 Enterprise 功能的 Message Queue 單一版本。 |
Message Queue Enterprise Edition 試用版 (透過 Platform Edition) |
透過 Sun 下載中心的 Message Queue 產品頁面 |
目前不再需要試用授權 |
不再需要 |
Message Queue Enterprise Edition 90 天試用版 (透過 Java Enterprise System 下載或 CD) |
版本 3 GA (2006 年 3 月) 之前的 Java Enterprise System 下載中心 |
Solaris Enterprise System 下載中心 |
Solaris Enterprise System 授權。有產品授權即可使用支援方案。(不再需要 90 天試用授權。) |
透過 SunStore、CD、獨立授權、Java Enterprise System 授權、Suite 授權,以及由 Java Enterprise System 所提供的 Message Queue Enterprise Edition |
Java Enterprise System 或 Suite 下載中心、媒體 |
Solaris Enterprise System 或 Suite 下載中心、媒體提供 |
無變更。 |
新的函數:MQGetDestinationName()
MQGetDestinationName (const MQDestinationHandle destinationHandle, MQString * destinationName); |
使用此函數取得目標的名稱。傳回的 destinationName 是一個副本,它由呼叫者負責透過呼叫 MQFreeString() 函數進行釋放作業。
參數
您希望知道其名稱之目標的控點。
名稱的輸出參數。
此函數在使用回覆傳送模式時很有用。您可以使用 MQGetMessageReplyTo 函數取得目標 (訊息傳送的目標) 的控點。然後可使用 MQGetDestinationName 取得該目標的名稱。取得目標名稱之後,您可以根據該名稱處理訊息。
新的列舉值:MQ_MESSAGE
新的 MQMessageType (MQ_MESSAGE) 可讓 C 用戶端與其他 Message Queue 用戶端 (C 與 Java) 交換 Message 類型的 JMS 訊息:
typedef enum _MQMessageType {MQ_TEXT_MESSAGE = 0, MQ_BYTES_MESSAGE = 1, MQ_MESSAGE = 3, MQ_UNSUPPORTED_MESSAGE = 2} MQMessageType; |
MQ_MESSAGE 類型可識別具有標頭與特性但沒有訊息內文的訊息。您可使用 MQCreateMessage() 函數建立此類型的訊息。
新連線特性 (MQ_UPDATE_RELEASE_PROPERTY) 指定 Message Queue 已安裝版本的更新發行版本。可使用 MQGetMetaData() 函數取得版本資訊。
為了改善效能,已對 Message Queue 的永久性存放區格式做了兩項變更。其中一項變更是針對檔案存放區,另一項是針對 JDBC 存放區。
檔案存放區中的作業事件資訊
Message Queue 檔案式永久性存放區所儲存的作業事件狀態資訊,其格式已經變更,以降低磁碟 I/O 並改善 JMS 作業事件的效能。
Oracle JDBC 存放區
在之前的 Message Queue 版本中,搭配 Oracle 的存放區模式使用 LONG RAW 資料類型來儲存訊息資料。在 Oracle 8 中,Oracle 引入了 BLOB 資料類型,並停用了 LONG RAW 類型。Message Queue 3.7 UR1 改用 BLOB 資料類型以改善效能與支援能力。
由於這些變更會影響存放區的相容性,因此存放區版本已從 350 變更為 370。Message Queue 3.7 UR1 支援將永久性存放區 (JDBC 存放區與檔案式存放區) 從舊的 200 與 350 版本自動轉換為 370 版本。初次啟動 imqbrokerd 時,如果公用程式偵測到舊版存放區,則會將該存放區遷移至新的格式,同時保留舊版存放區。
如果需要回復此升級動作,請解除安裝 Message Queue 3.7 UR1,然後重新安裝之前執行的版本。由於舊版的存放區副本保留不變,因此代理程式可利用舊版的存放區副本執行。