我正在尋找一種在應用程序本身內正確關閉(取消部署)Java Web應用程序的方法。我試過System.exit(),但是這不僅關閉了webApp,還弄亂了Glassfish。正確關閉Java Web應用程序
我知道contextlistener,我只是想知道如何啓動關機程序。
我正在尋找一種在應用程序本身內正確關閉(取消部署)Java Web應用程序的方法。我試過System.exit(),但是這不僅關閉了webApp,還弄亂了Glassfish。正確關閉Java Web應用程序
我知道contextlistener,我只是想知道如何啓動關機程序。
通常的做法是使用asadmin undeploy命令。
該命令的一般形式是:
as-install/bin/asadmin undeploy war-name
對於戰爭的名稱,使用文字打招呼,不完整的hello.war名。
對於hello.war例如,命令是:
as-install/bin/asadmin undeploy hello
請參見以下參考資料:
http://docs.oracle.com/cd/E19798-01/821-1757/geyvr/index.html
http://docs.oracle.com/docs/cd/E19798-01/821-1758/undeploy-1/index.html
要取消部署程序,就可以使用JSR- 88雖然我真的不明白爲什麼你想這樣做的理由。見
部署Web應用程序是應用程序服務器的職責。我知道它是如何在Glassfish但其他應用程序。服務器(例如JBoss,Tomcat等)具有基於Web的管理應用程序,可以執行此操作。
如果您想要從應用程序本身以編程方式取消部署應用程序,則可以使用JMX。參考glassfish JMX實現來知道調用哪個bean。但恕我直言,我不認爲你真的需要這個。
的申請是由集裝箱輪進行管理,而不是其他方式。你正在嘗試做容器本身的工作,而且幾乎不會有一個便攜式(和安全的)解決方案。很可能,只要容器允許您調用這樣的類,就需要使用容器特定的類。 –
你爲什麼試圖讓應用程序自行解除部署? – Paul