사용자 도구

사이트 도구


springframework:bean_lifecycle

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
springframework:bean_lifecycle [2021/11/12 13:06]
kwon37xi
springframework:bean_lifecycle [2022/02/15 13:20] (현재)
kwon37xi [SmartLifeCycle]
줄 27: 줄 27:
   * ''SmartLifeCycle'' 안에서 다른 Bean 을 destroy 하려면, 그냥 하면 안되고 ''BeanFactoryAware'' 인터페이스를 구현하여 ''DefaultSingletonBeanRegistry'' 를 주입받은뒤, [[https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/beans/factory/support/DefaultSingletonBeanRegistry.html#destroySingleton-java.lang.String-|DefaultSingletonBeanRegistry.destroySingleton(beanName)]]을 사용해야한다. 그래야 Bean destroy 후에 해당 빈을 ApplicationContext 에서 제거해주어 중복 destroy 를 막아준다.   * ''SmartLifeCycle'' 안에서 다른 Bean 을 destroy 하려면, 그냥 하면 안되고 ''BeanFactoryAware'' 인터페이스를 구현하여 ''DefaultSingletonBeanRegistry'' 를 주입받은뒤, [[https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/beans/factory/support/DefaultSingletonBeanRegistry.html#destroySingleton-java.lang.String-|DefaultSingletonBeanRegistry.destroySingleton(beanName)]]을 사용해야한다. 그래야 Bean destroy 후에 해당 빈을 ApplicationContext 에서 제거해주어 중복 destroy 를 막아준다.
   * 입력받는 역할을 하는것(MQ Listener 등)을 먼저 종료시켜줘야 더이상 입력이 없는 상태에서 Gracefull 한 종료가 가능해진다.   * 입력받는 역할을 하는것(MQ Listener 등)을 먼저 종료시켜줘야 더이상 입력이 없는 상태에서 Gracefull 한 종료가 가능해진다.
 +  * [[https://www.baeldung.com/spring-boot-web-server-shutdown|Web Server Graceful Shutdown in Spring Boot | Baeldung]]
 ===== 참조 ===== ===== 참조 =====
   * [[https://www.baeldung.com/spring-postconstruct-predestroy|Spring PostConstruct and PreDestroy Annotations | Baeldung]]   * [[https://www.baeldung.com/spring-postconstruct-predestroy|Spring PostConstruct and PreDestroy Annotations | Baeldung]]
springframework/bean_lifecycle.1636689973.txt.gz · 마지막으로 수정됨: 2021/11/12 13:06 저자 kwon37xi