2013-11-26 3 views
0

제 일은 프로그램을 실행하여 JVM을 크래프하는 프로젝트에서 작업하고 있습니다. JVM에서 나는 웹 애플 리케이션으로 전개 된 Tomcat을 가지고있다. JVM이 다운되자 마자 "페이지를 찾을 수 없습니다. 서버가 다운 될 수 있습니다."라는 오류가 브라우저에서 JVM과 마찬가지로 웹 응용 프로그램에 발생하면 Tomcat도 중단되었습니다.팝업 메시지로 JVM 충돌 알림?

이제 JVM이 충돌하자마자 팝업을 생성하려고합니다. 팝업창에 "JVM이 충돌했습니다!"라고 표시됩니다. 그러한 코드를 작성하는 방법을 알려주시겠습니까?

미리 감사드립니다.

답변

0

jvm exit에서 UnInvoked finalize() 메소드를 호출해야합니다. 클래스 중 하나에서 finalize 메소드를 재정의하고 jvm이 활성 상태가 될 때까지 해당 참조를 활성 상태로 유지해야합니다. JVM 충돌시이 메소드가 호출됩니다. 하지만 JVM이 충돌하면 컨테이너 쓰레드가 죽을 것이기 때문에 브라우저에서이 기능을 사용할 수 없습니다.

+0

최소한 "JVM 충돌"은 원시 코드 (JVM의 자체 코드 또는 JNI를 통해 호출 된 제 3 자 코드)의 잘못된 메모리 액세스로 인해 JVM이 비정상적으로 종료되었음을 의미합니다. 이 시나리오에서는 종료자가 실행되지 않습니다. 그리고 System.exit() 호출과 같은 정상적인 JVM 종료의 경우에도 Finalizer는 Runtime.runFinalizersOnExit()가 활성화되어있을 때만 실행됩니다. 기본적으로 비활성화되어 있으며 자체 문서에 명시되어 있으므로 더 이상 사용되지 않습니다. JVM을 종료 할 때 정지가 발생할 수 있으므로 사용하지 않는 것이 좋습니다. –

0

JVM 상태를 모니터링하는 다른 서비스가 필요할 수 있습니다.

JVM이 충돌하거나 응답 할 수없는 경우 서버가 페이지에 알림을 보내고 경고합니다.