복붙노트

[SPRING] 스프링에서 애플리케이션 속성을 동적으로 업데이트하고 유지 관리하는 방법은 무엇입니까? [복제]

SPRING

스프링에서 애플리케이션 속성을 동적으로 업데이트하고 유지 관리하는 방법은 무엇입니까? [복제]

Spring 애플리케이션에서 서비스 엔드 포인트, 애플리케이션 변수 등과 같은 애플리케이션 속성 목록을 유지하고 싶습니다. 이러한 속성은 (시스템 관리자가 웹 페이지를 통해) 동적으로 업데이트 할 수 있어야합니다.

스프링은이 요구 사항을 충족시키는 내장 된 기능을 가지고 있습니까?

해결법

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

    1.스프링이 속성 파일을 동적으로 업데이트하기위한 구현을 가지고 있는지 확신하지 못합니다.

    스프링이 속성 파일을 동적으로 업데이트하기위한 구현을 가지고 있는지 확신하지 못합니다.

    FileInputStream을 사용하여 Properties 객체를 읽는 것과 같은 작업을 수행 할 수 있습니다. 그런 다음 속성을 업데이트 할 수 있습니다. 나중에 FileOutputStream을 사용하여 동일한 파일에 속성을 다시 쓸 수 있습니다.

    // reading the existing properties
    FileInputStream in = new FileInputStream("propertiesFile");
    Properties props = new Properties();
    props.load(in);
    in.close();
    // writing back the properties after updation
    FileOutputStream out = new FileOutputStream("propertiesFile");
    props.setProperty("property", "value");
    props.store(out, null);
    out.close();
    
  2. ==============================

    2.PropertySource의 구현을 환경에 추가하십시오.

    PropertySource의 구현을 환경에 추가하십시오.

    경고 : @ConfigurationProperties 및 @Value 주석에 사용되는 속성은 응용 프로그램 시작시 한 번만 읽히므로 런타임에 실제 속성 값을 변경하면 다시 시작될 때까지 아무런 영향을 미치지 않습니다.

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

    3.확실하지는 않지만 스프링 부트 프레임 워크의 @ConfigurationProperties를 사용할 수 있는지 확인하십시오.

    확실하지는 않지만 스프링 부트 프레임 워크의 @ConfigurationProperties를 사용할 수 있는지 확인하십시오.

    @ConfigurationProperties(locations = "classpath:application.properties", ignoreUnknownFields = false, prefix = "spring.datasource")
    

    Java 전문가 - 저는 단지 내 견해를 탐구하려고 노력하고 있습니다. 수정은 언제나 환영합니다.

    편집 - 여기 @PropertySource에 대한 좋은 예를 읽었습니다.

  4. ==============================

    4.외부화 속성, 여기를보세요

    외부화 속성, 여기를보세요

    Spring은 런타임에 구성 할 수 있고 응용 프로그램에서 다른 방식으로 액세스 할 수있는 이러한 등록 정보를로드합니다.

  5. from https://stackoverflow.com/questions/41192085/how-to-maintain-update-application-properties-dynamically-in-spring by cc-by-sa and MIT license