2011-12-03 2 views
2

응용 프로그램 자체에서 Java 웹 응용 프로그램을 올바르게 종료 (배포 취소) 할 방법을 찾고 있습니다. 나는 System.exit()을 시도했지만, 이것은 웹 애플리케이션을 종료시킬뿐만 아니라 글래스 피쉬를 망칠 수도있다.올바른 종료 Java 웹 응용 프로그램

나는 contextListener에 대해 알고 있는데, 나는 단지 종료 절차를 시작하는 방법을 알고있다.

+3

참조하십시오. 컨테이너 자체의 작업을 시도하고 있으며 휴대용 (보안) 솔루션이 거의 없을 것입니다. 대부분의 경우 컨테이너가 클래스를 호출 할 수있는 한 컨테이너 전용 클래스를 사용해야합니다. –

+0

왜 응용 프로그램의 배포를 취소하려고합니까? – Paul

답변

2

일반적인 방법은 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-을 사용할 수 있습니다 나는 정말로 왜 당신이 이것을하고 싶어하는지에 관해서 이유를 본다. 응용 프로그램은 라운드 다른 방법을 컨테이너에 의해 관리되지 않고

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

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

+0

웹 응용 프로그램이 RMI를 사용하여 로컬 Java 응용 프로그램과 연결되어있는 경우, RMI 연결이 끊긴 경우 웹 응용 프로그램을 종료해야하는 이유가없는 것보다 일부 예외가 있습니다. – rkokkelk

+0

프로세스 빌더를 사용하여 이것을 호출하여 자신을 연결 해제합니다. – tgkprog

3

웹 응용 프로그램의 배포는 응용 프로그램 서버의 책임입니다. 글래스 피쉬 (Glassfish)에서 다른 앱을 어떻게 사용하는지 알 수 있습니다. 서버 (예 : JBoss, Tomcat 등)에는이를 수행 할 수있는 웹 기반 관리 응용 프로그램이 있습니다.

응용 프로그램 자체에서 응용 프로그램을 프로그래밍 방식으로 배포 취소하려는 경우 JMX를 사용할 수 있습니다. glassfish JMX 구현을 참조하여 어떤 bean을 호출해야하는지 알 수 있습니다. 그러나 IMHO 나는 이것이 정말로 필요하다고 생각하지 않습니다.