it-source

Spring Boot application.yml 파일에서 @Scheduled fixedRate 값을 삽입합니다.

criticalcode 2023. 3. 7. 21:33
반응형

Spring Boot application.yml 파일에서 @Scheduled fixedRate 값을 삽입합니다.

다음 구문을 사용하여 속성 파일에서 값을 삽입할 수 있습니다.

@Scheduled(fixedRate=${myRate})
public void getSchedule(){
    System.out.println("in scheduled job");
}

다만, 설정이 YAML 파일에 있는 경우는, 같은 것을 실행하는 방법을 추측할 수 없습니다.

잘 부탁드립니다.

내 application.properties(YAML)에 이것을 넣습니다.

console:
    fetchMetrics: 5000

그런 다음 간단한 작업 클래스에서 다음과 같은 정의를 푸시합니다.

@Scheduled(fixedRateString ="${console.fetchMetrics}", initialDelay=1000)
public void fetchMetrics() {
    logger.info("What's up ?");
}

주의하시기 바랍니다fixedRate기대하다long자리 표시자를 삽입하려면fixedRateString

나는 내 프로젝트를 한 번 끝내면 쉽다는 것을 알게 된다.
바꾸다fixedRate로.fixedRateString프로퍼티 키를 꽂습니다.double quotes다음과 같습니다.

@Scheduled(fixedRateString="${myRate}")
public void getSchedule() {
    System.out.println("Scheduled job");
}

내 응용 프로그램에서 주석을 사용합니다.PropertySource설정 클래스:

@PropertySource("application-${spring.profiles.active}.yml")

spring.profiles.active액티브 프로파일(dev, test 등)을 반환합니다.내 속성 파일 이름은 application-dev.yml입니다.

주석@Scheduled는 속성 주입과 함께 작동합니다.클래스에 프리픽스 구성이 있는 주석을 잊지 마십시오.

언급URL : https://stackoverflow.com/questions/27445702/inject-scheduled-fixedrate-value-from-spring-boot-application-yml-file

반응형