복붙노트

[SPRING] 스프링 부트를 사용하면서 동적 속성을 구성하는 방법은 무엇입니까?

SPRING

스프링 부트를 사용하면서 동적 속성을 구성하는 방법은 무엇입니까?

나는 나의 할당을 위해 Spring Boot를 사용할 계획이다. 데이터베이스에 연결되어있는 일반적인 서버 응용 프로그램입니다. 나는 Spring Configuration을 사용하여 내 속성을 외부화 할 수 있음을 안다. db 연결 세부 사항. 하지만 런타임에 업데이트해야하는 다른 동적 속성도 있습니다. 예 : 오리발 / 기능 플래그. 내 응용 프로그램의 특정 기능을 동적으로 제어해야합니다. app.cool-feature.enable = true와 같은 속성을 상상해보십시오. 잠시 후 app.cool-feature.enable = false로 같은 기능을 끌 수 있습니다.

런타임에 이러한 동적 동작을 처리하는 것이 가장 좋은 방법은 무엇입니까? 나는 변화를 일으키는 옵션을 따르는 것을 생각할 수있다 ...

나는 이것을 구현하는 내 자신의 커스텀 코드를 작성할 수 있다는 것을 알고있다. (그것은 세 번째이다.) 그러나 내가 인식하지 못하는 동적 인 속성 설정에 대해 이미 표준적인 방법 / 일반적인 방법이 있는지 궁금하다. 또한 Apache ZooKeeper, coreos etcd, Netflix 큐레이터 등과 같은 다른 솔루션과 함께 작동하고 Spring과의 긴밀한 통합이 가능하다면 멋질 것입니다.

생각?

해결법

  1. ==============================

    1.Spring 부트를 사용하고 있다면 @ConfigurationProperties를 살펴보십시오. 귀하는 귀하의 재산에 액세스하기 위해 콩을 제공해야합니다. 따라서 프로퍼티의 원래 값은 빈의 일반적인 프로퍼티이기 때문에 실행 중에 변경 될 수 있습니다.

    Spring 부트를 사용하고 있다면 @ConfigurationProperties를 살펴보십시오. 귀하는 귀하의 재산에 액세스하기 위해 콩을 제공해야합니다. 따라서 프로퍼티의 원래 값은 빈의 일반적인 프로퍼티이기 때문에 실행 중에 변경 될 수 있습니다.

    예를 들어 귀하의 경우 :

    @Component
    @ConfigurationProperties
    public class JmsProperties {
    
        private String url = "vm://localhost" (let's suppose you use ActiveMQ);
    
        public String getUrl()...
        public void setUrl(String value)...
    
    }
    

    그런 다음이 Bean을 JMS 메시지 리스너에 삽입하십시오.

    물론 JMS 및 스프링 부트를 사용하는 경우 자동 구성을 사용하면 이미 Properties 클래스가 있습니다.

  2. ==============================

    2.Togglz를 보시려면 www.togglz.org를 방문하십시오.

    Togglz를 보시려면 www.togglz.org를 방문하십시오.

    그들의 홈페이지에서 :

    Togglz는 스프링 프레임 워크에 바인딩되지 않지만이를 지원합니다.

  3. ==============================

    3.귀하의 요구 사항은 "Spring Cloud Config"의 유스 케이스로서, 모든 구성을 중앙에 배치 할 수있을뿐만 아니라 동적으로 새로 고칠 수있을뿐만 아니라 바로 다음 순간부터 참조하는 응용 프로그램에서 선택할 수 있습니다. 이 표준 스프링 링크를 참조하십시오.

    귀하의 요구 사항은 "Spring Cloud Config"의 유스 케이스로서, 모든 구성을 중앙에 배치 할 수있을뿐만 아니라 동적으로 새로 고칠 수있을뿐만 아니라 바로 다음 순간부터 참조하는 응용 프로그램에서 선택할 수 있습니다. 이 표준 스프링 링크를 참조하십시오.

  4. from https://stackoverflow.com/questions/28756014/how-to-configure-dynamic-properties-while-using-spring-boot by cc-by-sa and MIT license