下列副標題說明您可能需要重新啟動測試伺服器的不同狀況。本主題最後面的表格也彙總列出這些狀況。
在開發環境中,您可能想在應用程式正在伺服器中執行時對它進行變更,例如當您正在除錯伺服器上的應用程式時。在某些情況中,您可以動態重新載入修改過的程式碼,而不必重新啟動伺服器。依據修改過的資源類型以及伺服器的類型而定,您可能會也可能不會失去程式的狀態。
當應用程式正在伺服器中執行,且您對程式碼做了變更時,Java™ 虛擬機器仍會繼續執行起始程式碼,直到自動或以手動方式重新載入程式碼為止。比方說,您可以修改 JSP 程式碼,然後變更將自動在伺服器中重新載入。如果是其他資源,如在 Tomcat 1 上執行的 Java 類別,您就必須重新啟動伺服器,以確定伺服器能夠辨識變更。
當伺服器執行時,如果您對伺服器或伺服器配置做了任何變更,比方說,如果您變更了埠號,就需要重新啟動伺服器。
當伺服器執行時,如果您對 JSP 檔、HTML 檔、GIF 檔、JPG 檔或類似資源做了變更, 並儲存檔案,則您僅需要重新整理「Web 瀏覽器」,伺服器即可辨識變更。程式的狀態不會流失。
當伺服器執行時,如果您對 Servlet 做了變更並儲存檔案,則如果您啟用了該應用程式的重新載入,系統就會重新載入 Servlet。如果您啟用了伺服器的快速方法取代,不需要重新整理瀏覽器,變更就會自動生效。 如果您已啟用快速方法取代,伺服器會在您重新整理 Web 瀏覽器時辨識變更,應用程式的狀態不會流失。 該專案的階段作業資料將流失,但是應用程式內其他專案的狀態將保持不變。 您可以從「導覽器」視圖中專案的蹦現功能表重新啟動專案。對於 WebSphere Application Server 5.x 版 2, 如果您尚未啟用重新載入,您必須重新啟動 EAR。如果您正在執行 Tomcat 且未啟用重新載入,將需要重新啟動伺服器。
如果是 WebSphere Application Server, 上述的規則也適用於 Web 專案的任何相依類別或部署描述子。 如果您修改了在 WebSphere Application Server 執行之 web.xml 部署描述子的安全或登入配置內容,則需重新啟動伺服器。如果是 Tomcat,對於這些變更的任一個都需要重新啟動伺服器。
當伺服器執行時,如果您將新的 Servlet、相依類別或 JSP 檔新增至 Web 專案,則如果您啟用了重新載入,系統將能夠辨識變更。 如果您沒有啟用重新載入,並且是執行 WebSphere Application Server,就必須重新啟動 EAR 專案, 如果是執行 Tomcat,則必須重新啟動伺服器。如果您已在除錯模式中啟用快速程式碼取代, 就會自動辨識 Java 類別的變更。
對於 WebSphere Application Server,伺服器會動態重新啟動 EAR 中的 EJB 專案。 如果您已在除錯模式中啟用快速程式碼取代,就會自動辨識 Java 類別的變更。
對於 WebSphere Application Server,當「企業應用程式」專案正在伺服器中執行,如果您變更了企業應用程式專案中的任何資源,伺服器便會動態重新啟動 EAR。Tomcat 不支援「企業應用程式」專案測試和發佈。
對於 WebSphere Application Server 6.0 版,如果您變更了 WebSphere 加強型 EAR 編輯器內的任何資源, 您必須重新啟動伺服器,再重新發佈應用程式。WebSphere 加強型 EAR 編輯器是應用程式部署描述子編輯器中的「部署」頁面。
修改的資源 | 必要的動作 | |||
---|---|---|---|---|
WebSphere Application Server | Apache Tomcat | WebSphere Application Server - Express | ||
伺服器配置 |
|
重新啟動伺服器 | 重新啟動伺服器 | |
JSP | 重新整理 Web 瀏覽器 | 重新整理 Web 瀏覽器 | 重新整理 Web 瀏覽器 | |
Servlet | 啟用快速方法取代 | 自動 | 自動 | 自動 |
啟用重新載入 | 重新整理 Web 瀏覽器 | 重新整理 Web 瀏覽器 | 重新整理 Web 瀏覽器 | |
停用重新載入 | 重新啟動 EAR 專案或伺服器 | 重新啟動伺服器 | 重新啟動 EAR 專案或伺服器 | |
相依類別* 或部署描述子 | *啟用快速方法取代 | 自動 | 自動 | 自動 |
啟用重新載入 | 重新整理 Web 瀏覽器 | 重新整理 Web 瀏覽器 | 重新整理 Web 瀏覽器 | |
停用重新載入 | 重新啟動 EAR 專案或伺服器 | 重新啟動伺服器 | 重新啟動 EAR 專案或伺服器 | |
EJB 實作方式 | 自動重新載入 | 不支援 | 不支援 | |
當啟用快速方法取代時:自動作業,不重新載入 | ||||
EJB 介面或介面的相依類別 | 自動重新載入。如果應用程式用戶端保有 EJB 的參照,請重新啟動應用程式用戶端。 | 不支援 | 不支援 | |
EJB 相依類別* 或部署描述子 | 自動重新載入 | 不支援 | 不支援 | |
*當啟用快速方法取代時:自動取代 | ||||
已新增 EJB 或相依類別 | 自動重新載入 | 不支援 | 不支援 | |
當啟用快速方法取代時:自動取代 | ||||
EAR 檔 | 自動重新載入 | 不支援 | 不支援 | |
重新整理 Web 瀏覽器 | ||||
WebSphere 加強型 EAR | 6.0 版:重新啟動伺服器,再重新發佈應用程式。 | 不支援 | 不支援 |