Message Queue 4.4 包含新的錯誤修正,且合併 Message Queue 4.x 系列舊版中已修正的錯誤。
以下各節列出各發行版本中已修正的錯誤:
下表說明 Message Queue 4.4 中已修正的錯誤。
表 1–7 Message Queue 4.4 中已修正的錯誤| 
 錯誤  | 
 說明  | 
|---|---|
| 
 6242247  | 
 若兩個同名的代理程式位在同一部機器上,MQ 叢集中的主代理程式會啟動並當機。  | 
| 
 6760937  | 
 代理程式若重新啟動,不會重新連線至 DB。  | 
| 
 6765410  | 
 主代理程式會傳送 2 次本機 Interest,造成已在使用中之長期訂閱的從屬異常。  | 
| 
 6796506  | 
 接收遠端 PREPARE 回覆發生逾時狀況時,遠端 PREPARED 訊息未在回復之後重新傳送。  | 
| 
 6821639  | 
 在 MQRA-DIRECT 模式之 AS 回復期間,回復/確定作業事件時發生 NPE  | 
| 
 6836364  | 
 若萬用字元用戶的主題建立於用戶之前,該用戶就不會接收遠端訊息。  | 
| 
 6836749  | 
 HA(JCAPS):在 1 項長期訂閱回復之後才確定訊息,再次接收訊息時即會發生「存放區中已存在確認」的異常狀況。  | 
| 
 6858905  | 
 Consumer.destroyConsumer 中的 ConcurrentModificationException  | 
下表說明 Message Queue 4.3 中已修正的錯誤。
表 1–8 Message Queue 4 中已修正的錯誤。3| 
 錯誤  | 
 說明  | 
|---|---|
| 
 6634033  | 
 叢集協定不會在建立用戶端時傳播 imqConsumerFlowLimit 值,以移除代理程式。  | 
| 
 6713012  | 
 如果在重新啟動遠端代理程式時銷毀叢集中代理程式上的用戶,可能會造成無法傳送部分訊息。  | 
| 
 6727555  | 
 代理程式記錄訊息「已超過每個訊息的位元組上限」的實際訊息大小和 [max bytes per message] 值對調。  | 
| 
 6737404  | 
 JMX 度量必須提供已從目標 (主題及佇列) 派送,但尚未傳送至用戶的訊息計數。  | 
| 
 6740568  | 
 當單一作業事件中使用太多訊息時,代理程式會丟出異常。  | 
| 
 6758524  | 
 列出長期訂閱項目的 (imqcmd list dur -d "foo.*") 指令,不接受目標名稱中有萬用字元。  | 
| 
 6758952  | 
 設定 imq.portmapper.hostname=localhost 會造成代理程式無法連入叢集。  | 
| 
 6758817  | 
 設定 imq.cluster.hostname=localhost (不建議) 會造成不同機器上的代理程式無法連入叢集。  | 
下表說明 Message Queue 4.2 中已修正的錯誤。
表 1–9 Message Queue 4.2 中已修正的錯誤| 
 錯誤  | 
 說明  | 
|---|---|
| 
 6581592  | 
 當以文字模式執行安裝程式或解除安裝程式 (installer –t) 時,[摘要] 畫面會顯示包含記錄/摘要檔案的目錄,但不會列出這些檔案的名稱。  | 
| 
 6585911  | 
 安裝程式的 [JDK 選取] 畫面中包含由安裝程式隨附,且可用於執行安裝程式的 JRE;這是錯誤的。  | 
| 
 6587112  | 
 安裝程式摘要畫面於多位元組語言環境中出現亂碼。  | 
| 
 6587127  | 
 透過參照回覆檔 (installer -a filename -s) 執行安裝程式時,若回覆檔不存在,則錯誤訊息會不一致且不清楚。  | 
| 
 6590969  | 
 允許用戶端連線認證中的 DN 使用者名稱格式。  | 
| 
 6594381  | 
 若系統上存在舊版 Message Queue 本土化 RPM,則 Message Queue 4.1 本土化 RPM 的安裝 (在 [多語言套裝軟體] 畫面上選取 [安裝 Message Queue 多語言套裝軟體] 時) 會失敗。  | 
| 
 6599144  | 
 在 Java SE 6 上解除安裝 Message Queue 4.2 時,軟體資訊畫面與解除安裝程式會當機,且畫面會顯示空白與灰色,但 Java SE 5 則沒有此問題。  | 
| 
 6615741  | 
 若原始用戶在回復前關閉,則在已回復之作業事件用戶階段作業中傳送的訊息,即無法重新傳送。  | 
| 
 6629922  | 
 分散式作業事件處理程式無法依正確順序將訊息重新傳送至非使用中的用戶。  | 
| 
 6635130  | 
 代理程式無法在暫停後通知非永久性訊息的產生器繼續進行生產,因為目標已達到記憶體或訊息數上限。  | 
| 
 6641117  | 
 若原始用戶在回復後關閉,則在已回復之作業事件用戶階段作業中傳送的訊息,即無法重新傳送。  | 
| 
 6683897  | 
 即使配置似乎順利完成,Message Queue 安裝程式的摘要畫面仍會報告配置錯誤:安裝程式無法寫入某些電腦的 /dev/sterr。  | 
| 
 6684069  | 
 在代理程式叢集中,用戶作業事件中若有大量訊息傳送至遠端用戶端,則確定作業事件會失敗。  | 
| 
 6688935  | 
 連接埠對映器讀取逾時的預設值太小。  | 
| 
 6695238  | 
 C 用戶端應用程式無法連線至安裝位置路徑中有空格的代理程式。  | 
| 
 6710168  | 
 若目標暫停兩次且暫停之間沒有重新繼續,則用戶無法再使用訊息。  | 
| 
 6710169  | 
 JMX 作業 ConsumerManagerMonitor.getConsumerInfo 一律會在確認模式傳回 SESSION_TRANSACTED。  | 
下表說明 Message Queue 4.1 中已修正的錯誤。
表 1–10 Message Queue 4.1 中已修正的錯誤| 
 錯誤  | 
 說明  | 
|---|---|
| 
 6381703  | 
 已處理的遠端訊息可能在重新啟動產生訊息的代理程式時,再度確定。  | 
| 
 6388049  | 
 無法清除未完成的分散式作業事件。  | 
| 
 6401169  | 
 imqcmd 的確定與回復選項不會提示進行確認。  | 
| 
 6473052  | 
 自動建立的佇列預設值應為循環。(MaxNumberConsumers = -1)。  | 
| 
 6474990  | 
 代理程式記錄會顯示 imqcmd list dst 指令的 ConcurrentModificationException。  | 
| 
 6487413  | 
 當運作方式為 REMOVE_OLDEST 或 REMOVE_LOWER_PRIORITY 時,記憶體會發生錯誤。  | 
| 
 6488340  | 
 代理程式進行循環,而用戶端則等候確認的回覆。  | 
| 
 6502744  | 
 代理程式不會遵循停用的訊息佇列的預設限制 (1000 則訊息)。  | 
| 
 6517341  | 
 用戶端執行階段必須改善重新連線邏輯,讓用戶端連線至強化的代理程式叢集時,不論 imqReconnectEnabled 特性的值為何,都允許用戶端重新連線。  | 
| 
 6528736  | 
 Windows 自動啟動服務 (imqbrokersvc) 在啟動期間發生故障。  | 
| 
 6561494  | 
 當兩則訊息共用一個階段作業時,訊息會傳送到錯誤的用戶。  | 
| 
 6567439  | 
 PREPARED 作業事件中產生的訊息若在重新啟動代理程式之後確定,傳送順序可能會亂掉。  | 
下表說明 Message Queue 4.0 中已修正的錯誤。
表 1–11 Message Queue 4.0 中已修正的錯誤| 
 錯誤編號  | 
 說明  | 
|---|---|
| 
 4986481  | 
 在 Message Queue 3.5 中,呼叫 Session.recover 時,可能會在自動重新連線模式中當機。  | 
| 
 4987325  | 
 在呼叫 Session.recover 之後,重新傳送訊息的重新傳送旗標會設定為 false。  | 
| 
 6157073  | 
 將新的連線訊息變更為不僅包含總連線數,還包含服務中的連線數。  | 
| 
 6193884  | 
 Message Queue 在使用非 ASCII 字元顯示訊息的語言環境中,會將垃圾字元訊息輸出至系統記錄。  | 
| 
 6196233  | 
 無法使用 JMSMessageID 選取訊息。  | 
| 
 6251450  | 
 叢集關機期間,遍歷 connectList 物件時發生 ConcurrentModificationException。  | 
| 
 6252763  | 
 java.nio.HeapByteBuffer.putLong/Int 中發生 java.nio.BufferOverflowException。  | 
| 
 6260076  | 
 使用 Oracle 儲存,自代理啟動第一則訊息發佈後,訊息發佈變慢。  | 
| 
 6260814  | 
 處理 JMSXUserID 的選擇器一律視為 false。  | 
| 
 6264003  | 
 佇列瀏覽器會顯示屬於未確定作業事件的訊息。  | 
| 
 6271876  | 
 連線流量控制在關閉具有未使用訊息的用戶時,無法正常運作。  | 
| 
 6279833  | 
 Message Queue 不應該允許兩個代理程式使用相同的 jdbc 表格。  | 
| 
 6293053  | 
 若變更系統的 IP 位址,則主代理程式不會正確啟動,除非已清除存放區 (使用 -reset store)。  | 
| 
 6294767  | 
 Message Queue 代理程式需要在它開啟的網路通訊端上設定 SO_REUSEADDR。  | 
| 
 6304949  | 
 無法設定 ClientID 特性 (屬於TopicConnectionFactory)。  | 
| 
 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  | 
 新增對 Apache Derby 資料庫的支援。  |