本節包含 Message Queue 4.4 的已知問題清單。涵蓋以下的產品區域:
如需目前錯誤的清單、其錯誤狀態與解決方法,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。
本節說明與安裝 Message Queue 4.4 版相關的問題。
Message Queue 4.4 與 Message Queue 4.2 及 4.1都是透過較新的安裝程式所安裝,此安裝程式也會安裝與升級 Message Queue 所需要的 Java Enterprise System (Java ES) 共用元件,例如 JDK、NSS、JavaHelp 等。
此新版 Message Queue 安裝程式與舊版 Java ES 安裝程式 (用於安裝舊版 Message Queue) 無法共用相同的產品登錄。若用 Message Queue 安裝程式移除當初由 Java ES 安裝程式安裝的某版本 Message Queue,隨後用 Message Queue 安裝程式安裝 Message Queue 4.4,則 Java ES 產品登錄的狀態可能會不一致。因此執行 Java ES 解除安裝程式時,可能會不慎移除 Message Queue 4.4 及所需的共用元件,雖然這些檔案都不是由 Java ES 安裝程式所安裝。
升級由 Java ES 安裝程式所安裝的 Message Queue 軟體時,最佳方式如下所示。
使用 Java ES 解除安裝程式移除 Message Queue 及其共用元件。
使用 Message Queue 安裝程式安裝 Message Queue 4.4。
這些問題會影響所有平台上的安裝作業。
[準備安裝] 畫面以「mq」顯示產品名稱,而不會顯示為 Sun Java System Message Queue 4.3。(錯誤 6650841)
當安裝程式正在安裝 Message Queue 4.3 並顯示 [進度] 畫面時,可使用 [取消] 按鈕。此時選取 [取消] 按鈕會導致安裝不完整或中斷。(錯誤 6595578)
安裝程式的 [摘要] 畫面包含數個連結,按一下即可啟動記錄或摘要頁面檢視器。若使用視窗的關閉按鈕 [X] 而非標示為 [關閉] 的按鈕來關閉此檢視器視窗,將無法再次顯示此檢視器視窗。(錯誤 6587138)
解決方法:使用標記為 [關閉] 的按鈕關閉視窗。
當電腦系統的 Message Queue 與 NSS/NSPR 均為舊版時,安裝程式的 [升級] 畫面僅會列出 Message Queue 需要升級,而不會提及 NSS 與 NSPR 也需要升級。但是,所有相關的軟體均會升級 (依顯示正確資訊的 [準備安裝] 畫面所示)。(錯誤 6580696)
即使未選取 [選擇 JDK] 選項,[JDK 選取] 畫面上的 JDK 清單也會在使用中。(錯誤 6650874)
使用 Message Queue 解除安裝程式時,按一下 [取消] (不是按 [移除]) 仍會移除某些安裝程式檔案,日後的解除安裝作業也會失敗。(錯誤 6760416)
在執行跳過註冊程序的無訊息安裝作業之後,在僅限註冊模式中 (installer -r) 執行安裝程式時,會造成註冊失敗並顯示「檔案提前結束」錯誤。(錯誤 6767988)
在之前安裝過 Open Message Queue 的電腦上執行 Message Queue 4.3 安裝程式時,可能會看到下列警告訊息:「從 Config-State 讀取上一階段作業的資料時,發生錯誤。」(錯誤 6764305)
解決方法:訊息是良性的,完成安裝後即不會再出現。您也可以移除 /var/install/config/mq/InstallDirectory.xcu 檔案以避免出現此訊息。
在未安裝 JDK 的電腦上執行 Message Queue zip 安裝程式時,會出現下列錯誤訊息:「登錄機碼 HKLM\SOFTWARE\JavaSoft\Java Runtime Environment\CurrentVersion 中有無效的根。」(錯誤 6764358)
解決方法:先安裝 JDK 再執行安裝程式。
早在您按下 [準備安裝] 畫面的 [安裝] 按鈕之前,Message Queue 安裝程式即已建立 mqInstallHome 目錄。 (錯誤 6595590)
尚未安裝 Message Queue 就嘗試以文字模式註冊 Message Queue 時 (installer -t -r),會丟出 NullPtr 異常。(錯誤 6760991)
解決方法:先安裝 Message Queue,再嘗試註冊安裝作業。
在 Windows 上安裝 Message Queue 時,請注意下列限制。
Windows 平台的 Message Queue 4.3 已安裝目錄結構與舊版不同。請參閱「Sun GlassFish Message Queue 4.4 Installation Guide」中的「Installed Directory Structure」。
安裝程式並未將 Message Queue 的項目增加至 [開始] > [程式集] 功能表。(錯誤 6567258)
解決方法:若要啟動 [管理主控台],請使用「Sun GlassFish Message Queue 4.4 Administration Guide」中的「Starting the Administration Console」所示之指令行。
安裝程式未將 IMQ_HOME\mq\bin 目錄增加到 PATH 環境變數。(錯誤 6567197)
解決方法:當使用者呼叫 Message Queue 公用程式 (IMQ_HOME\mq\bin\ 指令) 時,需要將此項目增加至其 PATH 環境變數,或提供完整的路徑名稱。
安裝程式未將項目增加至 Windows 登錄以表示已安裝 Message Queue。(錯誤 6586389)
安裝程式不會將 Message Queue 代理程式增加為 Windows 服務。
解決方法:使用 imqsvcadm 指令,以手動方式將 Message Queue 代理程式增加為 Windows 服務。
若未安裝任何 JDK,安裝程式即會丟出下列錯誤:「登錄機碼 HKLM\\SOFTWARE\\JavaSoft\\Java Runtime Environment\\CurrentVersion 中有無效的根。」(錯誤 6764358)
解決方法:若發生此錯誤,請安裝 JDK 並繼續作業。
使用回覆檔以無訊息模式執行時,安裝程式會立即返回。安裝會確實執行,但使用者無法知道無訊息安裝究竟於何時完成。(錯誤 6586560)
嘗試在 Windows 上以文字模式執行安裝程式 (installer –t),會導致即使以非英文環境執行安裝程式也以英文顯示錯誤訊息。Windows 上不支援文字模式。(錯誤 6594142)
即使作業系統安裝在其他磁碟機,安裝程式仍會將 Message Queue 安裝在 C:\。(錯誤 6673511)
Windows 上沒有使用者可執行的安裝及解除安裝 .bat 檔案,使用者也無法使用 Windows [控制台] 的 [新增/移除程式] 解除安裝。(錯誤 6673417)
在 Windows Vista 中,除非以管理員身分從 [命令提示字元] 安裝,否則 Message Queue 無法安裝在 C:\Program Files 下。(錯誤 6701661)
解決方法:若要以管理員身分從指令提示符號進行安裝,請執行以下步驟:
1. 選取 [開始]->[所有程式]->[附屬應用程式]->[命令提示字元]。
2. 在 [命令提示字元] 上按一下滑鼠右鍵。
3. 選取 [以系統管理員身分執行]。
4. 將目錄變更為 Message Queue 4.2 安裝影像的目錄。
5. 執行 installer.vbs。
當以模擬測試模式執行解除安裝程式 (uninstaller -n) 時,將無法正確執行解除安裝。(錯誤 6719051)
解決方法:使用下列指令執行無訊息安裝:
uninstaller -s
安裝程式首頁的「Install Home」字串未本土化。(錯誤 6592491)
Message Queue 的 Zip 解除安裝程式在 Windows 2003 中會當機。(錯誤 6764370)
解決方法:手動移除 mqInstallHome 目錄。
以模擬測試模式 (installer –n) 執行安裝程式時,[摘要] 畫面會出現一些錯誤訊息,同時顯示安裝狀態為「不完整」。此為錯誤且有誤導之嫌;模擬測試不會在系統上進行任何安裝,只會建立後續可用於執行無訊息安裝的回覆檔。(錯誤 6594351)
使用回覆檔以無訊息模式執行安裝程式 (installer -a filename -s) 時,不會執行 Sun Connection 註冊。(錯誤 6710268)
以文字模式執行安裝程式時,若輸入 Sun Connect 註冊的使用者名稱或密碼,或建立線上帳號,則無法使用退格鍵更正使用者名稱或密碼。(錯誤 6673460)
解決方法:使用 Control-H 鍵而不是退格鍵,或使用不同的終端機模擬器,如 dtterm 或 xterm。
安裝程式的 [升級] 畫面有時不會正確報告目前安裝的 Message Queue 版本,或安裝程式引擎的版本。(錯誤 6679765)
以文字模式使用安裝程式,並嘗試以無效的使用者名稱與密碼向 Sun Connection 註冊時,安裝程式會顯示 [無法註冊] 對話方塊、丟出空指標異常並結束。(錯誤 6666365)
下列問題會影響 Linux 平台上的安裝作業:
在 Redhat Linux 5 中,執行 C 用戶端應用程式所需的 compat-libstdc++ 程式庫,未包含在 Message Queue 發行軟體中;因此,Message Queue 安裝程式不會安裝此程式庫。若要開發並執行 C 用戶端,則必須手動安裝此程式庫。
compat-libstdc++ rpm 通常位於您使用之 Linux 版本的安裝媒體中。此項目可使用下列指令安裝:
rpm -ivh compat-libstdc++-x-x.x.x.x..rpm
此處的 x 代表版本編號。
若要檢查是否已成功安裝程式庫,請使用下列指令:
rpm -qa | grep compat-libstdc++
[JDK 選擇] 面板上的捲動清單僅會顯示一個項目。因此很難在清單中選取其他 JDK。(錯誤 6584735)
若 JDK 是最新的版本且使用者在 [JDK 選擇] 畫面上選取 [安裝預設 JDK],則安裝程式仍會嘗試安裝,並報告無法安裝套裝軟體。但即使發生此問題,安裝仍會成功完成。(錯誤 6581310)
若目前安裝的 JDK 是 JDK 1.5.0_15 (Message Queue 安裝程式一般安裝的版本) 之後的版本,則 Message Queue 解除安裝程式會找不到預設 IMQ_JAVAHOME 目錄並傳回錯誤。(錯誤 6673415)
解決方法:先如下所述手動安裝 JDK 1.5,再執行 Message Queue 解除安裝程式。
# cd installImage/Product/UNIX/LINUX/X86/2.4/Packages
# rpm -i --force jdk-1.5.0_15–linux- arch.rpm
其中 arch 是 i586 或 amd64。
以模擬測試模式 (installer –n) 執行安裝程式時,[摘要] 畫面會出現一些錯誤訊息,同時顯示安裝狀態為「不完整」。此為錯誤且有誤導之嫌;模擬測試不會在系統上進行任何安裝,只會建立後續可用於執行無訊息安裝的回覆檔。(錯誤 6594351)
在 64 位元的 Linux 上,無法以文字模式執行 Message Queue 安裝程式。(錯誤 6771303)
解決方法:若嘗試從終端機視窗執行遠端安裝,即必須使用某些遠端顯示軟體,才能改以 GUI 模式執行安裝程式。
安裝程式會以不易理解的格式顯示 Message Queue 的版本資訊。(錯誤 6586507)
在 Solaris 平台上,請參閱下表以判斷安裝程式所顯示的 Message Queue 版本。
表 1–12 版本字串翻譯
安裝程式在 Solaris 作業系統上顯示的版本 |
對應 Message Queue 版本 |
---|---|
4.3.0.0 |
4.3 |
4.2.0.0 |
4.2 |
4.1.0.2 |
4.1 修補程式 2 |
4.1.0.1 |
4.1 修補程式 1 |
4.1.0.0 |
4.1 |
3.7.2.1 |
3.7 UR2 修補程式 1 |
3.7.0.2 |
3.7 UR2 |
3.7.0.1 |
3.7 UR1 |
3.6.0.0 |
3.6 |
3.6.0.4 |
3.6 SP4 |
3.6.0.3 |
3.6 SP3 |
3.6.0.2 |
3.6 SP2 |
3.6.0.1 |
3.6 SP1 |
針對 3.6 SP4 的修補程式版本 (例如 3.6 SP4 Patch 1),安裝程式顯示的發行版本字串會維持不變。您需要執行指令 imqbrokerd -version 以判斷實際版本。
在 Linux 平台上,安裝程式顯示的版本編號會使用下列格式。
majorReleaseNumber.minorReleaseNumber-someNumber
例如,3.7–22。這僅表示其為 3.7 發行版本的其中之一,但未指定是哪一個特定版本。若要判斷已安裝的 Message Queue 版本,請執行下列指令:
imqbrokerd -version。
下列問題與本土化問題相關。
在非英文語言環境中以文字模式執行安裝程式 (installer –t) 時,多位元組字元會顯示為亂碼。(錯誤 6586923)
安裝程式 [進度] 畫面上的進度列顯示亂碼。工具提示在非英文的語言環境中為程式內定。(錯誤 6591632)
Windows 不支援文字模式 (installer –t)。在 Windows 上以文字模式執行安裝程式會出現錯誤訊息。即使安裝程式在非英文的語言環境中執行,此訊息還是不會本土化。(錯誤 6594142)
不論安裝程式執行的語言環境為何,安裝程式的 [授權] 畫面皆會顯示英文授權文字。(錯誤 6592399)
解決方法:若要存取本土化的授權檔案,請參閱 LICENSE_MULTILANGUAGE.pdf 檔案。
安裝程式用法說明文字並未本土化。(錯誤 6592493)
安裝程式摘要 HTML 頁面上顯示的字串「None」已程式內定為英文。(錯誤 6593089)
當安裝程式在德文語言環境中執行時,[歡迎] 畫面無法顯示其他語言環境中所示的完整文字。(錯誤 6592666)
安裝程式的 [安裝主目錄] 畫面上所示的字串「Install Home」並未本土化。即使安裝程式在非英文的語言環境中執行,還是會顯示為英文。(錯誤 6592491)
以文字模式執行安裝程式 (installer –t) 時,不論安裝程式執行的語言環境為何,皆會使用英文回應選項「Yes」和「No」。(錯誤 6593230)
安裝程式的 [JDK 選擇] 畫面上的瀏覽按鈕工具提示已程式內定為英文。(錯誤 6593085)
在舊版的 Message Queue 中,可以使用 -p 或 -password 選項,以互動方式為下列指令指定密碼:imqcmd、imqbrokerd 及 imdbmgr。自 4.0 版起,這些選項已停用。
但是,您可以建立指定相關密碼的密碼檔案,並使用 -passfile 指令選項參照密碼檔案,或僅在指令提示時輸入密碼。
密碼檔案可包含下列一或多個密碼。
用於開啟 SSL 金鑰庫的金鑰庫密碼。使用 imq.keystore.password 特性指定此密碼。
用來與 LDAP 目錄進行安全連線的 LDAP 儲存庫密碼 (若連線不是匿名)。使用 imq.user_repository.ldap.password 特性指定此密碼。
用來連線至 JDBC 相容資料庫的 JDBC 資料庫密碼。使用 imq.persist.jdbc.vendorName.password 特性指定此密碼。特性名稱的 vendorName 元件是指定資料庫供應商的變數。選項包含 hadb、derby、pointbase、oracle 或 mysql。
imqcmd 指令 (可執行代理程式管理作業) 的密碼。使用 imq.imqcmd.password 特性指定此密碼。
在下列範例中,JDBC 資料庫的密碼會在密碼檔案中設定為 abracadabra。
imq.persist.jdbc.mysql.password=abracadabra
使用密碼檔案的方式可以是下列其中一種。
透過在代理程式的 config.properties 檔案中設定下列特性,配置代理程式使用密碼檔案。
imq.passfile.enabled=trueimq.passfile.dirpath= passwordFileDirectory imq.passfile.name=passwordFileName
使用相關指令的 -passfile 選項,例如:
imqbrokerd -passfile passwordFileName
下列問題與 Message Queue 的管理及配置相關。
在 Windows 平台中,需要使用 imqsvcadm 指令,以手動方式將 Message Queue 代理程式增加為 Windows 服務。安裝程式不會為您執行此項作業。
在 Windows 平台上,預設啟用的內建 Windows 防火牆必須使用防火牆規則手動配置為允許代理程式接受用戶端的內送連線。(錯誤 6675595)
連按兩下 [控制台] 中的 [Windows 防火牆]
您必須在 [使用者帳號控制] 對話方塊中按一下 [繼續],[Windows 防火牆設定] 對話方塊方可開啟。
在 [Windows 防火牆設定] 對話方塊中,按一下 [例外] 標籤。
按一下 [新增程式]。
在 [新增程式] 對話方塊中,選取 java.exe,然後按一下 [瀏覽]。
Windows 視代理程式程序為 Java Platform SE 的二進位檔案。因此,會找到代理程式使用的 java.exe (通常位於 jdk1.5.0_15\jre\bin\java.exe)。
按一下 [變更領域]。
在 [變更領域] 對話方塊中,選取 [任何電腦 (包括網際網路上的電腦)]。
按一下 [確定]。
在 [新增程式] 對話方塊中,按一下 [確定]。
在 [Windows 防火牆設定] 對話方塊中,按一下 [確定]。
在 Windows 平台上,當 CLASSPATH 包含雙引號時,imqadmin 與 imqobjmgr 指令會丟出錯誤。(錯誤 5060769)
解決方法:開啟指令提示字元視窗,並取消設定 CLASSPATH:
set classpath=
然後在相同的指令提示符號視窗中執行所需的指令,例如:
mqInstallHome\mq\bin\imqadmin
若提供的值包含空格,則所有 Solaris 與 Windows 程序檔中的 -javahome 選項均無法使用。(錯誤 4683029)
Message Queue 指令與公用程式使用 javahome 選項,以指定使用哪個替代的 Java 2 相容執行階段。但是,替代 Java 執行階段的路徑名稱不得包含空格。以下是路徑包含空格的範例。
Windows:C:\jdk 1.4
Solaris:/work/java 1.4
解決方法:將 Java 執行階段安裝在不包含空格的位置或路徑中。
imqQueueBrowserMaxMessagesPerRetrieve 屬性指定瀏覽佇列內容時,用戶端執行階段一次可擷取的最大訊息數。此屬性會影響要傳送至用戶端執行階段之佇列訊息的批次執行方式,但不會影響瀏覽的訊息總數。此屬性僅會影響瀏覽機制,而不會影響佇列訊息的傳送。(錯誤 6387631)
下列問題會影響 Message Queue 代理程式。
當永久資料存放區開啟過多目標時,會無法存取代理程式。(錯誤 4953354)
解決方法:這種情況是由於代理程式達到系統開啟檔案描述元限制所引起的。在 Solaris 和 Linux 上使用 ulimit 指令來增加檔案描述元的限制。
目標若已銷毀,會孤立用戶。(錯誤 5060787)
目標若已銷毀,會孤立使用中的用戶。一旦使用者被孤立,則無法再接收訊息 (即使目標重新建立)。
當使用 HTTP 連線服務的 JMS 用戶端突然終止 (例如,使用 Ctrl-C) 時,代理程式將需要大約一分鐘來釋放用戶端連線以及所有相關的資源。
如果一分鐘內有其他用戶端實例啟動,且其嘗試使用相同的 ClientID、長期訂閱或佇列,則可能會收到「用戶端 ID 已在使用」異常。這不是實際發生的問題,它只是上述終止程序的副作用。如果用戶端在延遲大約一分鐘後啟動,則所有作業均可正常執行。
MySQL 資料庫用為資料存放區時,儲存的訊息只要超過 1 MB 即會丟出 SQL 異常「Packet for query is too large...」(查詢的封包太大...)。(錯誤 6682815)
解決方法:啟動 MySQL 伺服器,並將 --max_allowed_packet 選項設為大於預設值 1 MB 的值。例如,使用下列值:
--max_allowed_packet=60M
若使用 MySQL 資料庫作為高度可用的共用資料存放區,則需要可將 MySQL 儲存引擎配置為 NDBCLUSTER 的一套機制。(錯誤 6691394)
解決方法:將下列特性值增加到代理程式的 config.properties 檔案中 (請參閱「Sun GlassFish Message Queue 4.4 Administration Guide」中的「Enhanced Clusters: JDBC Configuration Properties 」)。
imq.persist.jdbc.mysql.tableoption=EMGINE=NDBCLUSTER
使用 Oracle 9i (JDBC 9.2.0.x) 驅動程式時,代理程式會丟出「Failed to persist property...」(無法保留特性...) 異常。(錯誤 6626825)
解決方法:使用 Oracle 10g (JDBC 10.2.0.x) 驅動程式,代理程式已針對此進行最佳化處理。
imq.persist.jdbc.derby.table.MYCONSTATE41.index.IDX2=CREATE INDEX &(index) ON $(name) (MESSAAGE_ID)
若使用 Java DB 資料庫作為資料存放區,則會在儲存訊息時丟出「lock could not be obtained within the time requested (在請求的時間內無法取得鎖定)」之 SQL 異常。(錯誤 6691394)
解決方法:將下列特性值增加到代理程式的 config.properties 檔案中:
imq.persist.jdbc.derby.table.MYCONSTATE41.index.IDX2=CREATE INDEX &(index) ON $(name) (MESSAAGE_ID)
下列問題影響代理程式叢集。
此版本僅支援完全連線的代理程式叢集。這意味著,叢集中的每個代理程式必須與叢集中的每個其他代理程式直接通訊。若要使用 imqbrokerd -cluster 指令行引數將代理程式連線至傳統叢集,請務必小心以確保會包含叢集中的所有代理程式。
若用戶端連線至強化之代理程式叢集中的代理程式,用戶端執行階段會嘗試重新連線,直到成功為止 (將忽略連線工廠屬性 imqAddressListIterations 的值)。
用戶端僅可瀏覽位於本機代理程式之佇列的內容。用戶端仍可傳送訊息到任何佇列,或是使用來自叢集中任何佇列的訊息;此限制僅會影響瀏覽。
在包含 4.3 版代理程式的傳統叢集中,所有代理程式均須為 3.5 版或更新版本。
Message Queue 4.3、4.2 及 4.1 代理程式預設無法在叢集中與 Message Queue 3.7 或 3.6 代理程式互通,因為 imq.autocreate.queue.maxNumActiveConsumers 的預設值在這些版本中各不相同。(錯誤 6716400)
解決方法:請確定所有代理程式都具有相同的 imq.autocreate.queue.maxNumActiveConsumers 異動值,通常將 Message Queue 4.3、4.2 及 4.1 的配置變更成符合 3.7 或 3.6 代理程式所用者即可 (預設是從值 -1 變成舊版的預設值 1)。
若要將 Message Queue 4.3 (或 4.x) 代理程式增加至 Message Queue 3.x 代理程式叢集,主代理程式必須在執行中。(錯誤 6763796)
從傳統叢集轉換成強化的叢集時,可使用 Message Queue 資料庫管理者公用程式 (imqdbmgr),將現有的獨立式 JDBC 資料存放區轉換成共用的 JDBC 資料存放區,如「Sun GlassFish Message Queue 4.4 Administration Guide」中的「Cluster Conversion: JDBC-Based Data Store」所述。
使用 HADB 的代理程式無法處理大於 10 MB 的訊息。(錯誤 6531734)
若存放區存留的訊息超出 10,000 則,則使用指令 imqdbmgr upgrade hastore 轉換成 HADB 存放區可能會失敗,並顯示訊息「設定太多鎖定」。(錯誤 6588856)
解決方法:使用下列指令增加鎖定數。
hadbm set NumberOfLocks=<desiredNumber>
如需其他資訊,請參閱「Sun Java System Application Server 9.1 Enterprise Edition Troubleshooting Guide」中的「HADB Problems」。
若某項作業事件確定了 500 則以上的遠端訊息,則代理程式可能會傳回錯誤訊息「HADB-E-12815: Table memory space exhausted」(HADB-E-12815:表格記憶體空間已經用盡)。(錯誤 6550483)
如需其他資訊,請參閱「Sun Java System Application Server 9.1 Enterprise Edition Troubleshooting Guide」中的「HADB Problems」。
在代理程式叢集中,代理程式會將訊息排入尚未開啟之遠端連線的佇列中。(錯誤 4951010)
解決方法:只要開啟連線,用戶便會收到訊息。用戶連線若保持關閉,訊息會重新傳送至其他用戶。
在一項作業事件中使用多則遠端代理程式傳送的訊息時,代理程式可能會記錄下列錯誤訊息。該訊息無害,可以忽略:
[26/Jul/2007:13:18:27 PDT] WARNING [B2117]: Message acknowledgement failed from mq://129.145.130.95:7677/?instName=a&brokerSessionUID=3209681167602264320: ackStatus = NOT_FOUND(404)\ Reason = Update remote transaction state to COMMITED(6): transaction 3534784765719091968 not found, the transaction may have already been committed. AckType = MSG_CONSUMED MessageBrokerSession = 3209681167602264320 TransactionID = 3534784765719091968 SysMessageID = 8-129.145.130.95(95:fd:93:91:ec:a0)-33220-1185481094690 ConsumerUID = 3534784765719133952\par [26/Jul/2007:13:18:27 PDT] WARNING Notify commit transaction [8-129.145.130.95(95:fd:93:91:ec:a0)-33220-1185481094690, [consumer:3534784765719133952, type=NONE]] TUID=3534784765719091968 got response: com.sun.messaging.jmq.jmsserver.util.BrokerException: Update remote transaction state to COMMITED(6): transaction 3534784765719091968 not found, the transaction may have already been committed.: com.sun.messaging.jmq.jmsserver.util.BrokerException: Update remote transaction state to COMMITED(6): transaction 3534784765719091968 not found, the transaction may have already been committed.r
在一項作業事件中,如果 imq.txn.reapLimit 特性的值比該作業事件的遠端訊息數小,則會在通知訊息主機代理程式確定該作業事件中的後續訊息時,記錄此訊息。(錯誤 6585449)
解決方法:若不想看到此訊息,請增加 imq.txn.reapLimit 特性的值。
在 Windows 平台上,作業事件管理程式監視 MBean 的 getTransactionInfo 方法,會傳回作業事件建立時間不正確的作業事件資訊。(錯誤 6393359)
解決方法:請改用作業事件管理程式監視 MBean 的 getTransactionInfoByID 方法。
您必須瞭解與 SOAP 支援相關的兩個問題。
自 Message Queue 4.0 版發行以來,已停止對 SOAP 受管理物件的支援。
SOAP 開發取決於數個檔案:SUNWjaf、SUNWjmail、SUNWxsrt 及 SUNWjaxp。在 Message Queue 4.1 版中,只有使用 JDK 1.6.0 版或更新版本執行 Message Queue 時,才可使用這些檔案。
在先前版本中,SAAJ 1.2 實作 .jar 會直接參照 mail.jar。在 SAAJ 1.3 中已移除此參照;因此,Message Queue 用戶端必須將 mail.jar 明確置於 CLASSPATH 中。