我正在寻找一种在应用程序本身内部正确关闭(取消部署)Java Web应用程序的方法。我已经尝试过System.exit(),但这不仅关闭了WebApp,而且还弄乱了Glassfish。
我知道上下文侦听器,我只是想知道如何启动关闭程序。
最佳答案
通常的方法是使用asadmin undeploy命令。
该命令的一般形式为:
as-install/bin/asadmin undeploy war-name
对于war-name,请使用文字hello,而不要使用完整的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,尽管我真的看不到为什么要执行此操作的原因。看到
http://blogs.oracle.com/japod/entry/using_jsr_88_for_web
http://www.jcp.org/en/jsr/detail?id=88