2017-07-17 126 views
0

我們的Java應用程序正在從WAS 7服務器遷移到WAS 8.5服務器 - 出於某種原因,即使我們的應用程序在我們的管理控制檯中顯示爲已部署,應用程序本身也不會出現在我們分配的URL上。如何調試服務器端錯誤?

我已經排除了通過在本地服務器中測試應用程序而導致代碼相關問題的可能性,所以我知道問題出在一些服務器設置上 - 但是,我幾乎在CS中的所有體驗都在編碼,我不知道如何弄清楚這些設置出了什麼問題。

我有什麼選擇來調試我的應用程序的服務器端問題?

+0

從服務器日誌開始。當您在本地運行時,該應用是否部署在WAS 8.5上?專注於本地和PROD服務器之間的差異。 – duffymo

回答

4

您沒有指定「即將到來」的含義,所以我將從廣泛的建議開始。

幾件事情要健全性檢查:

  • 確保應用程序已經部署您試圖訪問其在特定的服務器上。通常在一個單元中由一個部署管理器控制多個服務器,並且可以將應用程序部署到僅部分服務器中。在管理控制檯的服務器 - > WebSphere應用程序服務器下,您可以找到您希望它啓動的服務器,並檢查已安裝的應用程序
  • 檢查應用程序本身是否已啓動。服務器可能已啓動,但不是應用程序。在應用程序 - > WebSphere企業應用程序中,查找應用程序旁邊的綠色箭頭。
  • 如果您嘗試訪問一個servlet,請確保您的Web模塊的上下文根被設置爲您所期望的。在應用程序的配置頁面中,它位於Web模塊的上下文根下的Web模塊屬性
  • 如果所有這些看起來都正確,或者應用程序已停止並且無法啓動,請檢查配置文件的logs目錄中的服務器日誌,尤其是SystemOut.log和ffdc文件夾。當您訪問它時或啓動時可能會發生錯誤。那些應該出現在那裏。
  • 如果您的應用程序使用EJB版本低於3.1的EJBDeploy工具,則必須在部署之前或作爲部署過程的一部分針對您的應用程序運行。如果您希望發生後者,請確保EJBDeploy工具與目標系統上的WebSphere一起安裝。

如果所有這些都失敗了,你可以打開調試器(如果在你的環境中允許的話),看看你的代碼是否被觸及。

+0

我們可能需要研究最後一點 - 我不知道我們的應用程序是否使用過舊的EJB,但值得深入研究。 昨天我們也被告知,如果它的編譯速度低於Java 1.7(它就是這樣),我們的應用程序可能會遇到麻煩,所以我們試圖首先解決它。 – Zibbobz

2

1)檢查服務器日誌:在WAS控制檯中,您可以找到服務器的日誌。

2)調試本地服務器。通過在本地服務器中部署耳朵,您可以在登錄模式下啓動服務器。然後你停止並重新啓動你的websphere應用程序,它將停留在選定的斷點處。