2017-04-04 6 views
1

스프링 부트 앱에 데이터 소스 구성 클래스가 있습니다. 다음 스 니펫데이터 소스 구성이있는 @Refreshscope

내 구성은 Spring 클라우드 구성 서버에서 가져온 것입니다. DB 호스트 이름을 변경하고 끝점을 사용하여 새로 고침 할 때 응용 프로그램이 새 DB 호스트를 사용하지 않습니다. 왜 그럴까? RefreshScope 기술적으로 @Configuration에서 작동 @docs 당으로

@Configuration 
@RefreshScope 
public classe DBConfig 
{ 
    @Resource 
    private Environment env; 

    private DataSource ehubDataSource() { 
     DriverManagerDataSource dataSource = new DriverManagerDataSource(); 
     dataSource.setDriverClassName(env.getProperty("datasource.driverClassName")); 
     dataSource 
       .setUrl(env.getProperty("datasource.url")); 
     dataSource.setUsername(env.getProperty("datasource.username")); 
     dataSource.setPassword(env.getProperty("datasource.password")); 
     return dataSource; 
    } 

} 
+0

나는 잘 모르겠다.하지만 범위/객체 (변경시)를 파괴하고 –

+0

을 반영하기 위해 다시 작성해야한다고 생각한다. @RDR이 내 대답은 유용하다? – VelNaga

+0

예 ... 감사합니다! – RDR

답변

1

는 새로 고침이 시작될 때 @RefreshScope에

자체를하지 않는 한 그들을 업데이트되는에 의존하지 수있는 그 콩에 따라 달라집니다 아무것도 제공

"Environment.java"를 확인해 주시겠습니까? Environment.java에 @RefreshScope를 지정하는 것을 잊어 버릴 수 있습니다. environment.java가 작동하지 않으면 공유하십시오.