Sun Java System Message Queue 3.7 UR1 版本說明

第 1 章 Sun Java System Message Queue 3.7 UR1 版本說明

版本 3.7 UR1

文件號碼 820-0489

此版本說明包含 Sun Java™ System Message Queue 3.7 UR1 發行時所提供的重要資訊。其中包括新增功能和增強功能、已知的問題與限制以及其他資訊。開始使用 Message Queue 之前,請先閱讀此文件。

您可以在 Sun Java System Message Queue 文件網站找到此版本說明的最新版本。請在安裝與設定軟體之前瀏覽此網站,並定期檢視最新版本說明與產品文件。

此版本說明包含下列各節︰

本文件中提供了協力廠商 URL 以供參考,另亦提供其他相關的資訊。

Sun 對本文件中提到的協力廠商網站的可用性不承擔任何責任。Sun 對於此類網站或資源中的 (或透過它們所取得的) 任何內容、廣告、產品或其他材料不做背書,也不承擔任何責任。對於因使用或依靠此類網站或資源中的 (或透過它們所取得的) 任何內容、產品或服務而造成的或連帶產生的實際或名義上之損壞或損失,Sun 概不負責,也不承擔任何責任。

版本說明修訂歷程

表 1–1 修訂歷程

日期 

對變更的說明 

2006 年 8 月 

本文件之初期測試版。 

2007 年 2 月 

本文件之最終版本。 

關於 Message Queue 3.7 UR1

Sun Java System Message Queue 為全方位功能的訊息服務,可提供符合 Java Messaging Specification (JMS) 1.1 規格且可靠的非同步訊息傳送。此外,Message Queue 還提供多種 JMS 規格以外的功能,以滿足大型企業的使用需求。

Message Queue 3.7 UR1 是 Message Queue 3.6 的維護版本,包含錯誤修正與一些略微增強的功能。本節包含下列資訊:

此發行版本的新增功能

Message Queue 3.7 UR1 包含下列新增功能:

這些資訊都會在下列小節中詳述。

將 Platform 功能與 Enterprise 功能合併在同一版本中

為簡化產品提供,我們合併了 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 下載中心、媒體提供 

無變更。 

C-API 與 C 用戶端執行階段的介面變更

永久性存放區格式變更

為了改善效能,已對 Message Queue 的永久性存放區格式做了兩項變更。其中一項變更是針對檔案存放區,另一項是針對 JDBC 存放區。

由於這些變更會影響存放區的相容性,因此存放區版本已從 350 變更為 370。Message Queue 3.7 UR1 支援將永久性存放區 (JDBC 存放區與檔案式存放區) 從舊的 200 與 350 版本自動轉換為 370 版本。初次啟動 imqbrokerd 時,如果公用程式偵測到舊版存放區,則會將該存放區遷移至新的格式,同時保留舊版存放區。

如果需要回復此升級動作,請解除安裝 Message Queue 3.7 UR1,然後重新安裝之前執行的版本。由於舊版的存放區副本保留不變,因此代理程式可利用舊版的存放區副本執行。

硬體與軟體需求

「Sun Java Enterprise System Installation Guide」中提供了 Message Queue 的硬體與軟體需求。

使用 Solaris 10 區域

區域是一種 Solaris 容器技術,可在機器上提供獨立的環境,並以邏輯方式將應用程式彼此隔離。區域可讓您在 Solaris 作業系統實例內建立虛擬作業系統環境。透過在不同區域執行應用程式,可讓您在同一機器上執行相同應用程式的不同實例或不同版本,同時可以集中管理並有效共用資源。

本節提供區域的簡短說明,並說明如何搭配 Message Queue 3.7 UR1 使用。

區域基本資訊

區域環境包含一個全域區域以及一個或多個非全域區域。初次在系統上安裝 Solaris 10 時,只有一個全域區域。管理員可以建立其他非全域區域,當作全域區域的子區域。每個區域看起來就像執行 Solaris 的獨立系統。每個區域有其各自的 IP 位址、系統配置、執行應用程式的實例,以及各自在檔案系統上的區域。

全域區域包含可在非全域區域之間共用的資源,讓您集中某些管理功能。例如,安裝在全域區域中的套裝軟體可用於 (傳播至) 全部的非全域區域。如此可讓您集中進行安裝、升級以及解除安裝等生命週期管理。同時,非全域區域所提供的隔離功能具備更佳的安全性,並可讓同一機器上執行的相同應用程式,具有配置各異的實例或不同版本。

非全域區域可以是完整的根區域或稀疏根區域:要選擇何者做為應用程式的環境取決於您要用什麼方式透過資源最佳化來平衡管理控制。

Java Enterprise System 區域限制

構成 Java Enterprise System 的元件相依於某些共用元件,造成使用區域時會有一些限制。在區域環境中,共用元件的規則如下。

由於 Message Queue 是 Java Enterprise System 元件產品,因此上述需求會影響其安裝,進而限制其使用區域的方式。


備註 –

Message Queue 產品安裝於 /usr 目錄中,因而必須先在全域區域中進行安裝或升級。


Message Queue 案例

將 Message Queue 安裝在全域區域中時,設定其傳播到所有的非全域區域中。在全域區域中安裝 Message Queue 之後,會在所有區域中安裝相同版本的 Message Queue:若登入任何區域並執行指令 pkginfo -l SUNWiqu,會看到已安裝 Message Queue,所安裝的版本與全域區域中的版本相同。接著,您可以在每個區域執行獨立的 Message Queue 代理程式實例,因為區域並不會共用 /var/etc 目錄中的實例與配置資料。(若其他大多數 Java Enterprise System 元件均安裝在全域區域中,則將不會傳播這些元件。)

因為 Message Queue 會傳播到非全域區域,因此全域實例會永久連結到非全域區域中的安裝。因此不論什麼時候在全域區域中解除安裝或升級 Message Queue,均會影響非全域區域中執行的實例。下列範例顯示這樣做會如何導致意外結果。

  1. 在全域區域中安裝 Message Queue 3.7 UR1。這將導致 Message Queue 3.7 UR1 套裝軟體也會安裝到所有非全域區域中。

  2. 在完整根區域中解除安裝 Message Queue 3.7 UR1。然後在完整根區域中安裝 Message Queue 3.6。

    這樣就會在不同區域中執行不同版本的 Message Queue,此設定對您而言可能很有用。

  3. 在全域區域中解除安裝 Message Queue 3.7 UR1。此舉會解除安裝所有其他區域中的 Message Queue,包含完整根區域中的 Message Queue 3.6 實例。

請注意在全域區域中安裝或解除安裝 Message Queue 的串聯效果。

下列兩則使用案例說明如何在不同區域內安裝 Message Queue 的不同實例與不同版本。


備註 –

若要在 Solaris 10、Solaris 10U1 或 Solaris 10U2 的完整根區域中安裝 Message Queue,您必須先在全域區域中升級 Lockhart。如需額外資訊,請參閱錯誤 645030 的解決方法。


Procedure在不同區域中安裝相同版本的 Message Queue

  1. 在全域區域中安裝所需的 Message Queue 版本。

    這些版本將傳播至所有現有的非全域區域。若您建立額外的非全域區域,Message Queue 也會傳播至這些區域。(您可以在完整根區域以及稀疏根區域中安裝不同的實例,但使用稀疏根區域可讓您利用磁碟空間與其他資源時更有效率)。

  2. 若要讓 Message Queue 傳播至其他的非全域區域,請立即建立這些區域。

  3. 在每個非全域區域中執行 Message Queue 的實例。

Procedure在不同區域中安裝不同版本的 Message Queue

  1. 從全域區域解除安裝 Message Queue。

  2. 建立完整根區域,並在建立區域時使用下列指令,配置讓每個區域不共用 /usr 目錄。

    remove inherit-pkg-dir dir=/usr
  3. 在每個完整根區域中安裝不同版本的 Message Queue。


    備註 –

    請記住,在全域區域中安裝或解除安裝 Message Queue 均會影響完整根區域中執行的所有 Message Queue 實例 (與版本)。


此版本中已修正的錯誤

此版本中已修正的錯誤說明在 Message Queue 3.7 UR1 中已修正的錯誤。

表 1–4 Message Queue 3.7 UR1 中已修正的錯誤

錯誤編號 

說明 

6193884 

Message Queue 在需要非 ASCII 字元才能顯示訊息的語言環境中,會將垃圾字元訊息輸出至系統記錄。 

6251450 

叢集關機期間,遍歷 connectList 物件時發生 ConcurrentModificationException

6252763 

java.nio.HeapByteBuffer.putLong/Int 中發生 java.nio.BufferOverflowException

6260076 

使用 Oracle 儲存,自代理啟動第一則訊息發佈後,訊息發佈變慢。 

6260814 

處理 JMSXUserID 的選擇器一律視為 false

6264003 

佇列瀏覽器會顯示屬於未確定作業事件的訊息。 

6271876 

連線流量控制在關閉具有未使用訊息的用戶時,無法正常運作。 

6284769 

即使新瀏覽器在每次列舉時建立並關閉,QueueBrowser 仍然發生記憶體錯誤。 

6294767 

Message Queue 代理程式需要在它開啟的網路通訊端上設定 SO_REUSEADDR

6304043 

代理程式未驗證共用非長期訂閱的 clientID 是否不為空值。

6307056 

txn 記錄是效能瓶頸。 

6320138 

Message Queue C API 無法從回覆傳送標頭判斷佇列的名稱。 

6320325 

在 Solaris 上,即使同時安裝了 JDK 1.4 與 JDK 1.5 版本,代理程式有時仍會先選擇 JDK 1.4。 

6321117 

多個代理程式叢集初始化丟出 java.lang.NullPointerException

6330053 

確認訂閱者的作業事件時,jms 用戶端執行階段丟出 java.lang.NoClassDefFoundError

6340250 

C-API 支援 MESSAGE 類型。

6351293 

新增對 Derby 資料庫的支援。 

6381693 

用戶代理程式重新啟動後,重新提供給遠端用戶的訊息之 JMSRedelivered 旗標設定為 false。

6388049 

無法清除不完整的 XA 作業事件。 

6403968 

新增以用戶為基礎的流量控制協定,為多個接收者進行負載平衡 

6403958 

當停用的訊息佇列嘗試移除最舊的非永久性訊息時,發生代理程式異常。 

6406862 

代理程式發生錯誤 Monitor destination errormq.metrics.destination.queue.Name 後,無法監視任何目標。

6415068 

作業事件回復在 AS 8.1 UR2 (JMS Message Queue 的通用資源配接卡) 中失敗。 

6421781 

支援連線到使用下列語法的代理程式 

—b mqtcp://hostName:portNumber/serviceName

6423696 

實際上,Session.rollback 不會在 COMMIT REPLY 錯誤之後回復已使用的訊息。

重要資訊

本節包含核心產品文件中所沒有的最新資訊。本節涵蓋下列主題:

安裝說明

請參閱「Sun Java Enterprise System Installation Guide」 以取得在 Solaris、Linux 與 HPUX 平台上安裝 Message Queue 產品 (隨附於 Java Enterprise System) 的安裝前指示,以及所有其他相關資訊。

請參閱「Sun Java Enterprise System Upgrade and Migration Guide」以取得在 Solaris、Linux、HPUX 與 Windows 平台上升級至 Message Queue (作為 Java Enterprise System 的一部分) 的相關升級與遷移指示。

相容性問題

本節涵蓋 Message Queue 3.7 UR1 中的相容性問題。

介面穩定性

Message Queue 使用許多介面,這些介面可能會隨時間而有所變更。「Sun Java System Message Queue 3.7 UR1 管理指南」中的附錄 B「Stability of Message Queue Interfaces」根據介面穩定性對其進行分類。介面愈穩定,在後續版本中變更的可能性愈小。

與下一個主要 Message Queue 發行版本相關的問題

下一個主要 Message Queue 發行版本可能會引入新的變更導致您的用戶端與該版本不相容。現在提供這個資訊是為了讓您對這些變更做好準備。

Message Queue 3.7 UR1 的文件更新

下列各節說明 Message Queue 文件除了略微修正與增訂之外,還有哪些更新以及變更。

C 用戶端的開發者指南

「Sun Java System Message Queue 3.7 UR1 Developer’s Guide for C Clients」已更新,新增了 MQGetDestinationName 函數、MQ_Message 訊息類型與 MQ_UPDATE_RELEASE_PROPERTY 連線特性。

Java 用戶端的開發者指南

「Sun Java System Message Queue 3.7 UR1 Developer’s Guide for Java Clients」已更新,加入了設定安全用戶端,以及用戶端如何處理自動重新連線期間發生的異常之相關資訊。

管理指南

「Sun Java System Message Queue 3.7 UR1 管理指南」已更新,提供代理程式資料庫表格,及配置代理程式以使用固定連接埠的相關資訊。

已知的問題與限制

本節包含 Message Queue 3.7 UR1 的已知問題清單。涵蓋以下的產品區域:

如需目前錯誤、錯誤狀態以及解決方法的清單,Java Developer Connection™ 成員請檢視 Java Developer Connection 網站上的「Bug Parade」頁面。在您報告新的錯誤之前,請先檢視此頁面。儘管此頁面未列出所有的 Message Queue 錯誤,但如果您想知道問題是否已報告,這是個不錯的起點。

http://bugs.sun.com/bugdatabase/index.jsp


備註 –

可免費獲得 Java Developer Connection 成員資格,但需要註冊。Sun 的「For Developers」網頁上會提供有關如何成為 Java Developer Connection 成員的詳細資訊。


若要報告新的錯誤或提交功能請求,請將郵件傳送至 imq-feedback@sun.com

一般問題

LDAP 使用者儲存庫特性

在 Message Queue 3.7 UR1 中,將 LDAP 伺服器用為使用者儲存庫的範例代理程式配置,會列在 config.properties 檔案的註釋區域中,而 default.properties 檔案中的 LDAP 使用者儲存庫範例則會標示為註釋。

若之前依賴在 default.properties 檔案中指定的範例 LDAP 使用者儲存庫特性中之任何特性值,則當 JMS 應用程式用戶端在嘗試建立 JMS 連線時,會收到安全性異常。這會在升級至 Message Queue 3.7 UR1 後發生。

當 JMS 用戶端嘗試連線到 Message Queue 3.7 UR1 代理程式時,會將錯誤記錄到您的代理程式記錄檔中,同時 JMS 亦會收到下列異常:

SecurityException.
20/Aug/2004:11:16:41 PDT] ERROR [B4064]: Ldap repository ldap property
.uidattr not defined for authentication type 
basic:com.sun.messaging.jmq.auth.LoginException: 
[B4064]: Ldap repository ldap property .uidattr not defined 
for authentication type basic

解決方法:遵照「Sun Java System Message Queue 3.7 UR1 管理指南」中的第 7 章「Managing Security」內指示,設定代理程式特性 imq.user_repository.ldap.uidattr

代理程式叢集

下列項目與使用代理程式叢集相關。

管理/配置

下列問題與 Message Queue 的管理及配置相關。

代理程式問題

下列問題會影響 Message Queue 代理程式。

文件

Message Queue 3.7 UR1 後期測試版沒有獨立產品。如需此發行版本,必須使用 Java Enterprise System 安裝程式安裝 Message Queue,並參閱「Sun Java System Installation Guide」以取得相關指示。

可再分發的檔案

Sun Java System Message Queue 3.7 UR1 包含的下列檔案集,可讓您以二進位格式使用和分發:

jms.jar

libmqcrt.so (UNIX)

imq.jar

libmqcrt.so (HPUX)

imqxm.jar

mqcrt1.dll (Windows)

fscontext.jar

 

此外,您還可以重新分發 LICENSECOPYRIGHT 檔案。

為殘障人士提供的無障礙功能

欲獲得此媒體發佈以來已發行的無障礙功能,請向 Sun 索取依據美國「Section 508」法規進行產品評估所得之結果文件,以便決定最適合佈署無障礙功能解決方案的版本。以下網址將提供應用程式的更新版本:

http://sun.com/software/javaenterprisesystem/get.html

如需有關 Sun 在無障礙功能方面之成果的資訊,請至 http://sun.com/access

如何報告問題和提供建議

如果您對 Sun Java System Message Queue 存有任何疑問,請使用以下任一機制與 Sun 客戶支援中心連絡:

為了讓我們能更有效地幫助您解決問題,當您與支援人員連絡時,請準備好以下資訊:

Sun Java System 軟體論壇

Sun Java System Message Queue 的論壇位於:

http://swforum.sun.com/jive/forum.jspa?forumID=24

我們非常歡迎您的加入討論。

Java 技術論壇

Java 技術論壇中有一個或許您會感興趣的 JMS 論壇。

http://forum.java.sun.com

Sun 歡迎您提出寶貴意見

Sun 致力於提高文件品質,因此誠心歡迎您提出意見與建議。

若要分享您的意見,請至 http://docs.sun.com,並按一下 [Send Comments (傳送您的意見)]。在線上表格中,請提供文件標題及文件號碼。文件號碼位於書本的標題頁或文件的頂部,通常是一組七位或九位數的數字。例如,本書的書名是「Sun Java System Message Queue 3.7 UR1 版本說明」,文件號碼為 820-0489。

在您提出意見時,可能需要在表單中輸入英文版書名和文件號碼,本書的英文版文件號碼和書名為:819-4465 和「Sun Java System Message Queue 3.7 UR1 ReleaseNotes」。

其他 Sun 資源

您可在下列網際網路位置找到有用的 Sun Java System 資訊: