[SPRING] 새 구성을 설정 한 후 모든 스프링 개체를 어떻게 업데이트 할 수 있습니까?
SPRING새 구성을 설정 한 후 모든 스프링 개체를 어떻게 업데이트 할 수 있습니까?
동적 구성을 변경 한 후 이전에 @Autowired 스프링 개체를 어떻게 새로 고칠 수 있습니까?
// Here is my updateConfig method
GenericApplicationContext context = new GenericApplicationContext();
XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(context);
reader.loadBeanDefinitions(new ClassPathResource("applicationContext.xml"));
context.refresh();
myApplicationContextAware.setApplicationContext(context);
myApplicationContextAware.applicationContext.getBean (MyClass.class)를 사용하면 새로운 구성으로 새 인스턴스를 가져올 수 있지만 모든 @Autowired 객체에는 이전 값이 여전히 포함되어 있습니다.
스프링 객체를 리프레시하는 솔루션이 있습니까?
해결법
-
==============================
1.이것을 위해 AbstractRefreshableApplicationContext를 사용할 수 있습니다. 런타임시 Bean 구성을 다시로드하는 메소드를 제공합니다.
이것을 위해 AbstractRefreshableApplicationContext를 사용할 수 있습니다. 런타임시 Bean 구성을 다시로드하는 메소드를 제공합니다.
스프링 부트를 사용하는 경우 @RefreshScope 주석을 스프링 액추에이터와 함께 사용할 수 있습니다. 스프링 작동기 끝점 / 새로 고침은 @RefreshScope로 주석 된 콩을 다시로드합니다.
from https://stackoverflow.com/questions/36501508/how-can-i-update-all-spring-objects-after-setting-new-configuration by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] JMS 수신기에서의 JMS 메시지 재전송 예외 (0) | 2019.04.25 |
---|---|
[SPRING] 동적 키를 가진 문서를 Spring MongoDb 엔티티 클래스에 매핑하는 방법 (0) | 2019.04.25 |
[SPRING] java.lang.NoSuchMethodError : org.springframework.web.context.ConfigurableWebApplicationContext.setId (Ljava / lang / String;) V (0) | 2019.04.25 |
[SPRING] Spring AOP - catch 블록에서 조언 호출 (0) | 2019.04.25 |
[SPRING] MockMVC 동일한 테스트 케이스에서 예외 및 응답 코드 테스트 방법 (0) | 2019.04.25 |