2018년 2월 4일 일요일

어플리케이션 종료 시 처리방법(Gracefully shutting down)

어플리케이션 종료 직전에 처리해야 할 로직이 있다면



(예를 들어 어플리케이션 종료 시에 현재 처리중인 프로세스는 종료하고 어플리케이션을 종료해야 한다던가, 사용중이던 리소스를 해제하여야 된다던가 하는 등등..)



다음과 같은 코드를 적용



단, 정상적인 kill 시그널인 경우에만 작동함(강제 kill 인 kill -9 같은 경우 작동하지 않음, 이클립스에서도 강제종료 시 확인할수 없음)



public class ApplicationMain {
    public static void main(String[] args) throws Exception {

        // Hooking kill signal.
        Runtime.getRuntime().addShutdownHook(new Thread() {
            public void run() {
                try {
                    System.out.println("+ shutdown application.");
                }catch(Exception e){
                    e.printStackTrace(System.err);
                }
            }
       });
    }
}

댓글 없음:

댓글 쓰기

Creating CRC32 Hex string

public String getCRC32HexaString(String paramString) throws Exception  {   byte bytes[] = paramString.getBytes(DEFAULT_CHARSET);   Che...