exit code 에 따른 ContextClosedEvent 작동여부
1482
작성한 질문수 11
강의 잘보고 있습니다.
ContextClosedEvent 실행 부분을 따라 했는데
작동하지 않아서 한참 이유를 찾아보다가
제가 사용중인 intellij 에서 stop application 을 하면
exit code -1 이 떨어지더군요.
그런데 영상강좌를 계속 돌려보다 알았는데 영상에서는
exit code 130 이 떨어지는걸 봤습니다.
그래서 runner 에서 이벤트 호출 하고 마지막에
System.exit(130) 을 추가했더니
ContextClosedEvent 리스너가 작동했습니다.
exit code 에 따라 왜 작동여부가 달라지는지,
개발환경에서 exit code 를 조절 가능한지 궁금합니다.
답변 1
2
윈도에서 UI 기반으로 애플리케이션 (인텔리J) 실행하고 종료할 때 발생하는 exit code가 다른가 봅니다. 이론적으로는 exit code와 상관없이 애플리케이션 종료시 이벤트가 발생해야 할거 같은데 인텔리J에서 버튼을 눌러서 종료하는 방법이 디버그 모드로 실행했는지 애플리케이션 모드로 실행했는지, OS에 따라서도 다른거 같습니다.
exit code 변경하지 않고 jar 파일로 패키징을 한 다음에 java -jar로 실행을 하고 Ctrl+C로 종료 시키니까 ContextClosedEvent 리스너가 제대로 동작하는걸 확인할 수 있었습니다.
또는 ExitCodeGenerator를 구현하는 방법도 있기는 한데 아래 방법도 윈도 인텔리J에서는 디버그 모드로 실행할 때만 동작하네요. 좋은 질문 감사합니다.
@SpringBootApplication
public class DemoExitApplication implements ExitCodeGenerator {
public static void main(String[] args) {
SpringApplication.run(DemoExitApplication.class, args);
}
@Override
public int getExitCode() {
return 130;
}
}
BeanFactory와 ApplicationContext 중 사용하고 싶은 컨테이너를 설정 할 수 있나요?
0
381
1
프로젝트 생성에 관련한 질문
0
376
1
안녕하세요 강의 내용을 듣다가 궁금점이 생겨 글을 남기게 되었습니다.
0
371
1
HttpServeltRequest 객체의 빈 스코프에 대해 질문 드립니다.
0
304
0
PropertyEditor non thread-safe 한 이유
0
491
1
빈의 초기화 시점이 궁금합니다.
0
393
1
이 강의 예제소스 없나요?
0
345
1
릴로딩 기능에 대해
0
404
1
Bean 을 특정 Application...Event 발생 후, 등록하는 방법이 궁금합니다
0
612
3
IoC/DI와 POJO의 관계
1
749
2
기선님 RetentionPolicy에 대해서 질문이 있습니다.
0
291
1
안녕하세요 기선님!
3
486
3
비동기적으로 실행할때
0
314
2
"Prototype/프록시"로 설정했는데 동일한 객체로 나옵니다
0
530
4
@Autowired 로 가져오는 Bean은 ?
2
280
1
Type-Safety 의미
0
538
1
Null Point
0
318
1
WebDataBinder를 특별히 쓰는 이유가 있나요?
0
384
1
안녕하세요?
0
336
2
애노테이션이 없습니다(?)
0
279
3
코드 중 변수 앞에 적는 것이 무엇인지 알고 싶습니다.
0
295
2
강의 하시면서 사용하는 resolving 이란 단어는 어떤 의미인가요?
1
1499
1
IOC컨테이너관련 질문입니다
0
245
3
인터페이스가 있는 경우 인터페이스 타입으로 주입하는 추가 질문입니다.
0
259
1





