Правильное завершение Java веб-приложения - PullRequest
2 голосов
/ 04 декабря 2011

Я ищу способ корректного завершения работы (отмены развертывания) веб-приложения Java в самом приложении. Я пробовал System.exit (), но это не только закрывает веб-приложение, но и портит Glassfish.

Я знаю о контекстном прослушивателе, мне просто интересно, как запустить процедуру завершения работы.

Ответы [ 2 ]

3 голосов
/ 04 декабря 2011

Развертывание веб-приложений является обязанностью сервера приложений. Я знаю, как это в Glassfish, но в другом приложении. серверы (например, JBoss, Tomcat и т. д.) имеют веб-приложение для управления, которое позволяет это делать.

Если вы хотите программно удалить приложение из самого приложения, вы можете использовать JMX. Обратитесь к реализации JMX из Glassfish, чтобы узнать, какой компонент вызывать. Но имхо я не думаю, что тебе это действительно нужно.

2 голосов
/ 04 декабря 2011

Обычный подход заключается в использовании команды asadmin undeploy.

Общая форма команды:

as-install/bin/asadmin undeploy war-name

Для 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, хотя я действительно не вижу причин, почему вы хотели бы сделать это.См

http://blogs.oracle.com/japod/entry/using_jsr_88_for_web

http://www.jcp.org/en/jsr/detail?id=88

...