Java의 폐쇄 응용 프로그램 이벤트를 처리하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/750026

  •  09-09-2019
  •  | 
  •  

문제

콘솔 애플리케이션, 클라이언트로부터 여러 연결을 수락하는 서버가 있으면 폐쇄 응용 프로그램에 청취자 나 이벤트가있을 수 있습니까? 이 행사에서 응용 프로그램이 실제로 닫히기 전에 모든 연결된 클라이언트에게 부드럽게 연결을 끊을 것을 원합니다.

해결책이 있습니까? 고맙습니다!

도움이 되었습니까?

해결책

셧다운 후크를 사용하려고합니다.

Runtime.getRuntime().addShutdownHook(theHookThread);

그래서 JVM이 종료되면 스레드가 실행됩니다. 여기 자세한 내용은.

다른 팁

응용 프로그램을 닫으면 운영 체제가 서버 프로세스를 죽이는 것을 의미합니까?

그러한 상황에서 서버가 사망하고 있다는 것을 알 수있는 방법은 없습니다. 기존 연결이 떨어집니다.

응용 프로그램을 닫으면 SYS 관리자가 서버를 수동으로 닫을 수있는 메소드를 제공합니다 (아마도 서버 콘솔에서 "종료"를 입력하여). 그런 다음 마감 이벤트는 사용자 정의 이벤트가되며 리스너를 코딩하고 서버가 종료중인 모든 사람에게 통지해야합니다. 이 시나리오에서는 입을 수 있습니다.

서버가 구축 된 방법 또는 작동 방식에 대한 자세한 내용을 추가하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top