2017-10-06 8 views
0

예 :Toggle Spring Autoconfiguration을 사용하여 앱 구성 빈 생성 내에서 기능 토글을 어떻게 사용합니까? 응용 프로그램 구성에서 빈을 생성하는 기능 토글을 사용

@RefreshScope 
@Configuration 
@Order(1) 
class AppConfig { 
    @Bean 
    @Autowired 
    public FeatureProvider featureProvider() { 
     return new EnumBasedFeatureProvider(FeatureToggle.class); 
    } 

    @Bean 
    @Autowired 
    ProjectAccess getProjectAccess(DataSource dataSource, HazelcastLocator hazelcastLocator) { 
     if(FeatureToggle.MY_TOGGLE_NAME.isActive()) { 
      return new MyTestClass(); 
     } 
     else { 
      return new YourTestClass(); 
     } 
    } 
} 

답변

0

당신이이 방법을 사용하지합니다. ;-)

이 코드의 문제점은 기본적으로 시작할 때 한 번 토글을 읽은 다음 더 이상 변경할 수 없다는 것입니다. 그것은 Togglz가 일반적으로 사용되는 방법이 아닙니다.

대신 런타임시 스위치를 전환 할 수 있도록 앱을 설계해야합니다. Togglz는이 경우를 위해 정확하게 설계된 FeatureProxyFactoryBean을 제공합니다.

두 구현에 대한 공통 인터페이스를 작성하여 수동으로 작성한 다음 기본적으로 각 메소드 호출에서 토글을 점검 한 다음 올바른 인스턴스에 위임하는 구현을 작성할 수도 있습니다.