Sun GlassFish Communications Server 2.0 版本說明

Message Queue

本節說明已知的 Java Message Queue 問題以及相關的解決方案。

在與時間相關的特定情況下,JMS 重新連線無法成功完成 (6173308、6189645、6198481、6199510、6208728)

說明

在與時間相關的方案中重新連線失敗可能是由多個問題導致的。

解決方案

您可以透過以下方法解決這些問題:

如果 MQ 代理程式未啟動,則伺服器無法啟動 (6740797)

說明

如果您將 JMS 配置為 REMOTE,則 MQ 代理程式未啟動時,企業伺服器亦無法啟動。

解決方案

設定下列 JVM 選項,如下所示:com.sun.enterprise.jms.CONNECT_MQ_LAZILY=true。設定此 JVM 選項後,如果 MQ 代理程式未啟動,您可以啟動 Communications Server。然而,建議您在啟動伺服器之前啟動 MQ。

MQ 代理程式無法在帶有叢集設定檔的 Linux 上啟動 (6524871)

說明

在 Linux 系統上建立帶有叢集設定檔的網域之後,可能會遇到 java.lang.OutOfMemoryError: Java heap space 錯誤,由於 MQ 代理程式未啟動,伺服器實例也可能無法重新啟動。出現此狀況之後,系統便無法再回復。出現此問題是因為 /etc/hosts 檔案配置錯誤;具體的說,伺服器主機名稱將指向迴路位址 127.0.0.1

解決方案

依設計,MQ 代理程式叢集不能在網路裝置配置為指向迴路位址的情形下啟動。這不是錯誤。解決方案是確保 Communications Server 主機的 /etc/hosts 檔案不指向 127.0.0.1

在升級前載入 imqjmsra.jar 時,會產生舊類別與新類別不相符的情形 (6740794)

說明

應用程式伺服器啟動期間,伺服器會檢查 Message Queue 版本。如果 Message Queue 版本錯誤,伺服器會使用 imqjmsra.jar 升級。應用程式伺服器必須重新啟動才可使用此升級 JAR 及其類別。只有當 Message Queue 單獨升級時,或是單獨修補應用程式伺服器時,才會發生此情況。此情況的副作用是有時無法啟動應用程式伺服器。

解決方案

您需要將 Message Queue 與應用程式伺服器維持在同一修補層級,或重新啟動應用程式伺服器。