복붙노트

[SPRING] Spring bean 프라퍼티를 프라퍼티 파일에서 자동으로 새로 고친다.

SPRING

Spring bean 프라퍼티를 프라퍼티 파일에서 자동으로 새로 고친다.

스프링 2.5.6을 사용하고 있습니다. PropertyPlaceholderConfigurer를 통해 속성 파일에서 속성이 할당되는 bean이 있습니다. 속성 파일을 수정할 때 bean 속성을 업데이트 할 수 있는지 궁금합니다. 예를 들어 프로퍼티 파일의 마지막 수정 날짜를 검사하는주기적인 프로세스가있을 것이며 변경된 경우 빈을 다시로드하십시오.

이미 내 요구 사항을 충족시키는 것이 있는지 궁금합니다. 그렇지 않다면,이 문제를 푸는 가장 좋은 방법은 무엇일까요?

당신의 도움을 주셔서 감사합니다.

해결법

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

    1.Spring PropertyOverrideConfigurer를 사용할 수도 있습니다. 속성을 다시 읽고 일부 폴링 / 스케줄 빈에서 다시 적용 할 수 있습니다.

    Spring PropertyOverrideConfigurer를 사용할 수도 있습니다. 속성을 다시 읽고 일부 폴링 / 스케줄 빈에서 다시 적용 할 수 있습니다.

    실제 구성된 bean이이 등록 정보를 사용하는 f}에 따라 다 (니다. 예를 들어, 간접적으로 어딘가에 캐시 할 수 있습니다.

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

    2.런타임에 동적 속성을 원한다면 JMX를 사용하는 다른 방법이있을 수 있습니다.

    런타임에 동적 속성을 원한다면 JMX를 사용하는 다른 방법이있을 수 있습니다.

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

    3.이를 수행하는 한 가지 방법은 응용 프로그램에 그루비 콘솔을 포함시키는 것입니다. 여기에 몇 가지 지침이 있습니다. 그들은 매우 간단했습니다. btw - 제가 그루비에 익숙하지 않더라도, 거의 시간을 들이지 않았습니다.

    이를 수행하는 한 가지 방법은 응용 프로그램에 그루비 콘솔을 포함시키는 것입니다. 여기에 몇 가지 지침이 있습니다. 그들은 매우 간단했습니다. btw - 제가 그루비에 익숙하지 않더라도, 거의 시간을 들이지 않았습니다.

    일단 그렇게하면 콘솔에 가서 실시간 응용 프로그램의 값을 즉시 변경할 수 있습니다.

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

    4.특성 파일의 변경시 Bean을 다시 작성하는 Bean에 대해 사용자 정의 범위를 사용하려고 시도 할 수 있습니다. 여기에 좀 더 광범위한 대답을보십시오.

    특성 파일의 변경시 Bean을 다시 작성하는 Bean에 대해 사용자 정의 범위를 사용하려고 시도 할 수 있습니다. 여기에 좀 더 광범위한 대답을보십시오.

  5. ==============================

    5.Spring Cloud Config에는 런타임시 Spring Cloud Bus 및 Cloud Config Server를 사용하여 구성 등록 정보를 변경하는 기능이 있습니다. 구성 또는 .properties 또는 .yml 파일은 Spring 어플리케이션에서 "외부화"되어 시작시 응용 프로그램이 연결하는 Spring Cloud Config Server에서 검색됩니다. Cloud Config Server가 GIT 저장소 (해당 저장소 솔루션이 있지만 GIT가 가장 일반적 임)에서 적절한 구성 .properties 또는 .yml 파일을 검색합니다. 그런 다음 GIT repo의 구성 파일 내용을 변경하여 런타임에 구성을 변경할 수 있습니다. - Cloud Config Server는 Spring Cloud Bus를 통해 모든 클라이언트 Spring 응용 프로그램에 변경 사항을 브로드 캐스팅하며 해당 응용 프로그램의 구성은 다시 시작하지 않고도 업데이트됩니다. 앱. 다음은 간단한 예제입니다 : https://github.com/ldojo/spring-cloud-config-examples

    Spring Cloud Config에는 런타임시 Spring Cloud Bus 및 Cloud Config Server를 사용하여 구성 등록 정보를 변경하는 기능이 있습니다. 구성 또는 .properties 또는 .yml 파일은 Spring 어플리케이션에서 "외부화"되어 시작시 응용 프로그램이 연결하는 Spring Cloud Config Server에서 검색됩니다. Cloud Config Server가 GIT 저장소 (해당 저장소 솔루션이 있지만 GIT가 가장 일반적 임)에서 적절한 구성 .properties 또는 .yml 파일을 검색합니다. 그런 다음 GIT repo의 구성 파일 내용을 변경하여 런타임에 구성을 변경할 수 있습니다. - Cloud Config Server는 Spring Cloud Bus를 통해 모든 클라이언트 Spring 응용 프로그램에 변경 사항을 브로드 캐스팅하며 해당 응용 프로그램의 구성은 다시 시작하지 않고도 업데이트됩니다. 앱. 다음은 간단한 예제입니다 : https://github.com/ldojo/spring-cloud-config-examples

  6. from https://stackoverflow.com/questions/595118/having-spring-bean-properties-refreshed-automatically-from-properties-file by cc-by-sa and MIT license