版本 3.7 UR1
文件號碼 820-0489
此版本說明包含 Sun Java™ System Message Queue 3.7 UR1 發行時所提供的重要資訊。其中包括新增功能和增強功能、已知的問題與限制以及其他資訊。開始使用 Message Queue 之前,請先閱讀此文件。
您可以在 Sun Java System Message Queue 文件網站找到此版本說明的最新版本。請在安裝與設定軟體之前瀏覽此網站,並定期檢視最新版本說明與產品文件。
此版本說明包含下列各節︰
本文件中提供了協力廠商 URL 以供參考,另亦提供其他相關的資訊。
Sun 對本文件中提到的協力廠商網站的可用性不承擔任何責任。Sun 對於此類網站或資源中的 (或透過它們所取得的) 任何內容、廣告、產品或其他材料不做背書,也不承擔任何責任。對於因使用或依靠此類網站或資源中的 (或透過它們所取得的) 任何內容、產品或服務而造成的或連帶產生的實際或名義上之損壞或損失,Sun 概不負責,也不承擔任何責任。
日期 |
對變更的說明 |
---|---|
2006 年 8 月 |
本文件之初期測試版。 |
2007 年 2 月 |
本文件之最終版本。 |
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 包含下列新增功能:
這些資訊都會在下列小節中詳述。
為簡化產品提供,我們合併了 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,然後重新安裝之前執行的版本。由於舊版的存放區副本保留不變,因此代理程式可利用舊版的存放區副本執行。
「Sun Java Enterprise System Installation Guide」中提供了 Message Queue 的硬體與軟體需求。
區域是一種 Solaris 容器技術,可在機器上提供獨立的環境,並以邏輯方式將應用程式彼此隔離。區域可讓您在 Solaris 作業系統實例內建立虛擬作業系統環境。透過在不同區域執行應用程式,可讓您在同一機器上執行相同應用程式的不同實例或不同版本,同時可以集中管理並有效共用資源。
本節提供區域的簡短說明,並說明如何搭配 Message Queue 3.7 UR1 使用。
區域環境包含一個全域區域以及一個或多個非全域區域。初次在系統上安裝 Solaris 10 時,只有一個全域區域。管理員可以建立其他非全域區域,當作全域區域的子區域。每個區域看起來就像執行 Solaris 的獨立系統。每個區域有其各自的 IP 位址、系統配置、執行應用程式的實例,以及各自在檔案系統上的區域。
全域區域包含可在非全域區域之間共用的資源,讓您集中某些管理功能。例如,安裝在全域區域中的套裝軟體可用於 (傳播至) 全部的非全域區域。如此可讓您集中進行安裝、升級以及解除安裝等生命週期管理。同時,非全域區域所提供的隔離功能具備更佳的安全性,並可讓同一機器上執行的相同應用程式,具有配置各異的實例或不同版本。
非全域區域可以是完整的根區域或稀疏根區域:要選擇何者做為應用程式的環境取決於您要用什麼方式透過資源最佳化來平衡管理控制。
完整根區域包含全域區域中檔案系統的讀/寫副本。安裝在全域區域中的套裝軟體會自動複製 (連帶其登錄資訊) 到完整根區域。如此可將管理控制發揮到極致,但代價是會損耗資源。
稀疏根區域包含全域區域中部分檔案系統的讀/寫副本;其他檔案系統會掛載為唯讀的檔案系統。透過唯讀檔案系統以及透過登錄資訊的自動同步化程序,稀疏根區域就可使用安裝在全域區域中的套裝軟體。稀疏根區域能夠最佳化資源的共用,但集中管理的效能會相對變弱。
構成 Java Enterprise System 的元件相依於某些共用元件,造成使用區域時會有一些限制。在區域環境中,共用元件的規則如下。
區域內的所有共用元件必須是相同 JES 版本。此需求會導致三種結果。
若想安裝共用元件的不同版本,則每個版本皆必須位於獨立的區域。
在區域內,若升級了共用元件或安裝了新版本,則必須升級所有共用元件。
當您在全域區域中安裝共用元件時,必須視需要升級非全域區域中的共用元件。
由於檔案系統在稀疏根區域中是唯讀的,所以無法將共用元件安裝在稀疏根區域中,必須將其安裝在全域區域中。相依於共用元件的產品元件必須先安裝在全域區域中,然後再傳播到非全域區域中。
由於 Message Queue 是 Java Enterprise System 元件產品,因此上述需求會影響其安裝,進而限制其使用區域的方式。
Message Queue 產品安裝於 /usr 目錄中,因而必須先在全域區域中進行安裝或升級。
將 Message Queue 安裝在全域區域中時,設定其傳播到所有的非全域區域中。在全域區域中安裝 Message Queue 之後,會在所有區域中安裝相同版本的 Message Queue:若登入任何區域並執行指令 pkginfo -l SUNWiqu,會看到已安裝 Message Queue,所安裝的版本與全域區域中的版本相同。接著,您可以在每個區域執行獨立的 Message Queue 代理程式實例,因為區域並不會共用 /var 與 /etc 目錄中的實例與配置資料。(若其他大多數 Java Enterprise System 元件均安裝在全域區域中,則將不會傳播這些元件。)
因為 Message Queue 會傳播到非全域區域,因此全域實例會永久連結到非全域區域中的安裝。因此不論什麼時候在全域區域中解除安裝或升級 Message Queue,均會影響非全域區域中執行的實例。下列範例顯示這樣做會如何導致意外結果。
在全域區域中安裝 Message Queue 3.7 UR1。這將導致 Message Queue 3.7 UR1 套裝軟體也會安裝到所有非全域區域中。
在完整根區域中解除安裝 Message Queue 3.7 UR1。然後在完整根區域中安裝 Message Queue 3.6。
這樣就會在不同區域中執行不同版本的 Message Queue,此設定對您而言可能很有用。
在全域區域中解除安裝 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 的解決方法。
在全域區域中安裝所需的 Message Queue 版本。
這些版本將傳播至所有現有的非全域區域。若您建立額外的非全域區域,Message Queue 也會傳播至這些區域。(您可以在完整根區域以及稀疏根區域中安裝不同的實例,但使用稀疏根區域可讓您利用磁碟空間與其他資源時更有效率)。
若要讓 Message Queue 傳播至其他的非全域區域,請立即建立這些區域。
在每個非全域區域中執行 Message Queue 的實例。
從全域區域解除安裝 Message Queue。
建立完整根區域,並在建立區域時使用下列指令,配置讓每個區域不共用 /usr 目錄。
remove inherit-pkg-dir dir=/usr
在每個完整根區域中安裝不同版本的 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 發行版本可能會引入新的變更導致您的用戶端與該版本不相容。現在提供這個資訊是為了讓您對這些變更做好準備。
Sun Java System Message Queue 連帶安裝的個別檔案位置可能會變更。這可能會造成使用目前位置的某些 Message Queue 檔案之應用程式無法執行。
3.5 以及更舊版本的代理程式可能無法繼續在具有新版代理程式的叢集中運作。
在未來發行版本的 Message Queue 用戶端中,可能無法使用 JDK 1.3 以前的版本。
下列各節說明 Message Queue 文件除了略微修正與增訂之外,還有哪些更新以及變更。
「Sun Java System Message Queue 3.7 UR1 Developer’s Guide for C Clients」已更新,新增了 MQGetDestinationName 函數、MQ_Message 訊息類型與 MQ_UPDATE_RELEASE_PROPERTY 連線特性。
「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。
使用 SSL 的連線服務目前限制為僅支援自我簽名的伺服器憑證,亦即主機信任模式。
當使用 HTTP 傳輸的 JMS 用戶端突然終止 (例如,使用 Ctrl-C) 時,代理程式將需要大約一分鐘來釋放用戶端連線以及所有相關的資源。
如果一分鐘內有其他用戶端實例啟動,且其嘗試使用相同的 ClientID、長期訂閱或佇列,則可能會收到「用戶端 ID 已在使用」異常。這不是實際發生的問題,它只是上述終止程序的副作用。如果用戶端在延遲大約一分鐘後啟動,則所有作業均可正常執行。
在 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。
下列項目與使用代理程式叢集相關。
此版本僅支援完全連線的代理程式叢集。這意味著,叢集中的每個代理程式必須與叢集中的每個其他代理程式直接通訊。如果您要使用 imqbrokerd -cluster 指令行引數連線代理程式,請務必小心以確保包含叢集中的所有代理程式。
如果用戶端連線到屬於某個叢集的代理程式,則目前無法使用 QueueBrowser 瀏覽位於該叢集中遠端代理程式的佇列。用戶端僅能瀏覽與代理程式直接連線的佇列內容。用戶端仍可傳送訊息到任何佇列,或是自叢集中任何代理程式的佇列產生訊息;其限制僅會影響瀏覽。
若代理程式叢集中未使用主代理程式,則代理程式儲存並新增到叢集的永久性資訊,不會傳播到叢集內的其他代理程式。
已中斷叢集內代理程式的連線 (錯誤 ID 6377527)。
發生此問題的原因之一是代理程式位址 (中斷連線的位址) 遭解譯成迴路 IP 位址 (127.0.0.1)。
解決方法:確保代理程式位址未解譯成迴路 IP 位址。
在代理程式叢集中,代理程式會將訊息排入尚未啟動之遠端連線的佇列中 (錯誤 ID 4951010)。
解決方法:只要啟動連線,用戶便會收到訊息。如果用戶連線關閉,訊息會重新發送至其他的用戶。
下列問題與 Message Queue 的管理及配置相關。
Windows 機器上的 CLASSPATH 中若包含雙引號,imqadmin 和 imqobjmgr 公用程式則會丟出錯誤 (錯誤 ID 5060769)
解決方法:您可忽略此錯誤訊息;代理程式只是正確通知用戶已出現的任何錯誤。該錯誤不會影響系統的可靠性。
若提供的值包含空格,則所有 Solaris 與 Windows 程序檔中的 -javahome 選項均無法使用 (錯誤 ID 4683029)。
Message Queue 指令與公用程式使用 javahome 選項,以指定使用哪個替代的 Java 2 相容執行階段。但是,替代 Java 執行階段的路徑名稱不得包含空格。以下是路徑包含空格的範例。
Windows:C:/jdk 1.4
Solaris: /work/java 1.4
解決方法:將 Java 執行階段安裝在不包含空格的位置或路徑中。
imqQueueBrowserMaxMessagesPerRetrieve 屬性指定瀏覽佇列目標內容時,用戶端執行階段一次可擷取的最大訊息數。請注意,用戶端應用程式始終會擷取佇列上的所有訊息。因此,imqQueueBrowserMaxMessagesPerRetrieve 屬性會影響佇列訊息分塊方式、提供佇列訊息到用戶端執行階段的方式 (較少大型的資料塊或較多小型的資料塊),但不會影響已瀏覽的訊息總計。變更此屬性的值可能會影響效能,但不會導致用戶端應用程式取得更多或更少的資料 (錯誤 ID 6387631)。
下列問題會影響 Message Queue 代理程式。
imqbrokerd —license 指令顯示已過時或重複的資訊。本指令會顯示已不再支援的試用授權相關資訊 (錯誤 ID 6489711),以及顯示重複的 unl 授權相關資訊 (錯誤 ID 6441015)。
解決方法:這類問題不會影響功能,不需要解決方法。
代理程式不再為停用的訊息佇列執行 1000 條訊息的預設限制;它會持續增加訊息至停用的訊息佇列,直到代理程式的記憶體不足為止。(錯誤 ID 6502744)
解決方法:將停用的訊息佇列限制重設為 1001,或重設為 1000 以外的任何值。
HTTPS createQueueConnection 偶爾會在 Windows 2000 上丟出異常 (錯誤 ID 4953348)。
解決方法:重試連線。
使用 Ctrl-C 關閉代理程式時,可能會在存放區關閉之後將作業事件清除 (錯誤 ID 4934446)。
代理程式可能顯示錯誤與下列原因:「關閉存放區之後存取儲存方法。」,因為訊息或作業事件正在處理時,代理程式卻關閉。
解決方法:您可忽略此錯誤訊息;代理程式只是正確通知用戶已出現的任何錯誤。該錯誤不會影響系統的可靠性。
當永久性存放區開啟過多目標時,代理程式會變得無法存取。(錯誤 ID 4953354)。
解決方法:這種情況是由於代理程式達到系統開啟檔案描述元限制引起的。在 Solaris 和 Linux 上使用 ulimit 指令來增加檔案描述元的限制。
目標若已銷毀,會孤立用戶 (錯誤 ID 5060787)。
目標若已銷毀,會孤立使用中的用戶。一旦使用者被孤立,則無法再接收訊息 (即使目標重新建立)。
解決方法:此問題沒有解決方法。
無法使用 JMSMessageID 選取訊息 (錯誤 ID 6196233)。
解決方法:將選擇器從以下表示式
JMSMessageID = "ID:message-id-string"
變更為以下表示式
JMSMessageID IN (’ID:message-id-string’, ’message-id-string’)
Message Queue 佇列瀏覽器顯示未確定的訊息 (錯誤 ID 6264003)。
瀏覽佇列內容時,作業事件中已產生但尚未確定的訊息,可能出現在佇列瀏覽器列舉中。
解決方法:此問題沒有解決方法。
在確定時若代理程式故障,訊息可能無法使用 (錯誤 ID 6467874)。
在極少數的情況中,若代理程式故障,則作業事件的訊息可能無法提供給客戶。尤其是在「確定」處理時若出現一個小視窗,可能導致訊息卡在永久性存放區中。發生這種情況時,將在故障後啟動代理程式時,顯示下列訊息。
[06/Sep/2006:10:11:11 PDT] ERROR [B2085]: Loading Destination q0 [Queue] failed. Messages stored on that destination will not be available.: > com.sun.messaging.jmq.jmsserver.util.BrokerException: The message 8-129.145.180.87(b8:8b:26:15:41:26)-38998-1157562551217 has an associated acknowledgement list already.
解決方法:此問題沒有解決方法。
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 |
|
此外,您還可以重新分發 LICENSE 和 COPYRIGHT 檔案。
欲獲得此媒體發佈以來已發行的無障礙功能,請向 Sun 索取依據美國「Section 508」法規進行產品評估所得之結果文件,以便決定最適合佈署無障礙功能解決方案的版本。以下網址將提供應用程式的更新版本:
http://sun.com/software/javaenterprisesystem/get.html
如需有關 Sun 在無障礙功能方面之成果的資訊,請至 http://sun.com/access。
如果您對 Sun Java System Message Queue 存有任何疑問,請使用以下任一機制與 Sun 客戶支援中心連絡:
請至 Sun 軟體支援線上服務,網址為: http://www.sun.com/service/sunone/software
該網站可連結至知識庫、線上支援中心、ProductTracker 以及維護程式和支援連絡號碼。
維護合約上提供的電話派遣維修號碼。
為了讓我們能更有效地幫助您解決問題,當您與支援人員連絡時,請準備好以下資訊:
問題描述,包括問題發生時的情形以及對您作業的影響。
電腦類型、作業系統版本和產品版本,包括所有修補程式和其他可能導致問題的軟體。
用來再現問題的詳細步驟。
所有錯誤記錄或記憶體傾印。
Sun Java System Message Queue 的論壇位於:
http://swforum.sun.com/jive/forum.jspa?forumID=24
我們非常歡迎您的加入討論。
Java 技術論壇中有一個或許您會感興趣的 JMS 論壇。
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 Java System 資訊:
文件
專業服務
軟體產品和服務
軟體支援服務
支援和知識庫
Sun 支援和培訓服務
諮詢和專業服務
開發者資訊
Sun 開發者支援服務
軟體培訓