[SPRING] 스프링 2.5에서 셧다운 훅 등록하기
SPRING스프링 2.5에서 셧다운 훅 등록하기
콩 종료 메서드를 파괴하는 호출하지 않는 봄 응용 프로그램이 있습니다. beanRefFactory에서 인스턴스화로 인한 참조를 보았습니다.이 문제는 응용 프로그램 컨텍스트에서 registerShutdownHook ()을 수동으로 호출하여 우회 될 수 있습니다.이 메서드는 2.0에서 2.5 사이의 스프링에서 사라진 것처럼 보입니다.
누군가가 이것이 지금 어떻게 행해지는 방향으로 나를 가리킬 수 있습니까?
감사.
해결법
-
==============================
1.이 메소드는 여전히 ConfigurableApplicationContext에서 사용할 수 있으며 AbstractApplicationContext로 구현됩니다.
이 메소드는 여전히 ConfigurableApplicationContext에서 사용할 수 있으며 AbstractApplicationContext로 구현됩니다.
그래서 당신은 이것을 할 수 있을지도 모릅니다.
ApplicationContext ctx = ...; if (ctx instanceof ConfigurableApplicationContext) { ((ConfigurableApplicationContext)ctx).registerShutdownHook(); }
또는 응용 프로그램을 닫거나 자체 셧다운 훅을 사용하는 동안 ((ConfigurableApplicationContext) ctx) .close ()를 호출 할 수 있습니다.
Runtime.getRuntime().addShutdownHook(new Thread() { public void run(){ if (ctx instanceof ConfigurableApplicationContext) { ((ConfigurableApplicationContext)ctx).close(); } } });
-
==============================
2.너무 많은 upvotes하지만 두 번째 진술은 완전히 잘못되었습니다, java에서 system.exit은 shutdownhook에 도달하기 전에 스프링을 종료 할 것입니다. 올바른 방법은이 4 가지 방법입니다.
너무 많은 upvotes하지만 두 번째 진술은 완전히 잘못되었습니다, java에서 system.exit은 shutdownhook에 도달하기 전에 스프링을 종료 할 것입니다. 올바른 방법은이 4 가지 방법입니다.
1 InitializingBean 및 DisposableBean 콜백 인터페이스 2 특정 동작에 대한 기타 Aware 인터페이스 bean 설정 파일에서 3 개의 커스텀 init ()과 destroy () 메소드 4 @PostConstruct 및 @PreDestroy 주석
여기를 클릭하십시오!
from https://stackoverflow.com/questions/1827212/registering-a-shutdown-hook-in-spring-2-5 by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 스프링 부트 ResourceLocations는 css 파일을 추가하지 않으므로 404가됩니다. (0) | 2019.03.21 |
---|---|
[SPRING] 스프링 데이터 JPA가 entityManager.persist (...) 또는 entityManager.merge (...) 메소드를 호출하는 방법 (0) | 2019.03.21 |
[SPRING] 봄 부팅 : 구성 Sqlite 데이터베이스 (0) | 2019.03.21 |
[SPRING] current_session_context_class 등록 정보 사용 최대 절전 모드 3 최대 절전 모드 4 (0) | 2019.03.21 |
[SPRING] 스프링 MVC가 리다이렉트를하지 못하게하려면 어떻게해야합니까? (0) | 2019.03.21 |