@Scheduled 코멘트

1 개요

@Scheduled 스프링 부트 주석 정기적 주로 특정 작업을 수행하는 시간을 제어하기 위해, 타이밍 주석 작업 제어를 위해 제공 또는 수행된다. 참고 @EnableScheduling를 사용할 필요없이 메인 세를 수행하도록 구성 @Scheduled 배치 된 것을 방법은 시간, 크론, 있도록, fixedRate, fixedDelay.

2 크론

@Scheduled 크론 단지 여섯 개의 필드 (참고하지 7 7 주어진되는)을 허용 다섯 개 공간으로 구분하는 파라미터는 문자열이며, 각각 초, 분, 시간, 일, 달의 발현 주.

단위 허용 값 와일드 카드가 허용됩니다
0-59 - * /
분할 0-59 - * /
언제 0-23 - * /
1-31 - * /? LW
1-12 또는 JAN 12 월 (대소) - * /?
저우 1-7 또는 SUN-SAT (대소) - * /? L 번호

2.1 크론 와일드

상징 의미
* 두 번째 필드의 모든 값은 월 필드에서 두 번째로 실행 월간 실행을 나타냅니다 나타냅니다
? 매일 설정과 같은 몇 주에 대해 수행하지만 상관 없어, 당신은 필드의 주를 넣을 수 있습니다, 값이 지정된 필드에 현재 필요하지 않은 값을 지정하지 마십시오?
- 범위, 예컨대 0-2 초 0 초 1 초 2초 트리거 인
, 다수의 값, 예컨대 0초 20 초 25 초 트리거, 제 2 필드를 0,20,25 될
/ 트리거를 증가, 예컨대 제 0 초에서 시작하여 0/3 필드에 설치된, 3 초마다 트리거
마지막으로, 단지 현장 일 또는 주 필드에 허용, 사용 L은 3L이 달의 마지막 목요일 주변 필드에 매일 현장 사용에 달의 마지막 날입니다 나타냅니다
W 만 날짜 필드 쇼 하루 작업의 가장 가까운에 사용하도록 허용. 평일은 월요일부터 금요일까지를 의미
# 매월 같은 2 # 3, 셋째 화요일에만주의의 처음 몇 일의 달을 나타내는 주변 필드에 허용

크론 예 2.2

@Scheduled(cron = "0 * * * 1 SAT") //每年的1月的所有周六的所有0秒时间执行
@Scheduled(cron = "0 0 0 1 Jan ?") //每年的1月的1日的0时0分0秒执行

구성 파일에 존재하는 경우, 지원의 자리를 cron과

cron = 2 2 2 2 2 ?

그때

@Scheduled(cron = "${cron}")

2 분 이초 두시 방향 연간 2월 2일 나타냅니다 수행 할 수 있습니다.

3 있도록, fixedRate

3.1 있도록, fixedRate

있도록, fixedRate는 MS에, 얼마나 오래 실행에서 마지막 실행 시간 이후에 나타냅니다.

@Scheduled(fixedRate = 1000 * 5)

오초 실행 전에 마지막 실행입니다.

3.2 fixedRateString

fixedRateString라는 유사한 매개 변수는 문자열은 자리로,이입니다.

@Scheduled(fixedRateString = "1000")

일초 보낸 마지막 재실행.
구성 파일에 해당하는 속성이이면 application.properties 내에있는 바와 같이, 속성이 지정으로 획득 될 수있다

interval=2000

당신은 사용할 수 있습니다

@Scheduled(fixedRateStirng="${interval}")

이 2 개 초 간격을 나타낸다.

4 fixedDelay

4.1 fixedDelay

fixedDelay와 다소 유사한 있도록, fixedRate하지만 있도록, fixedRate 마지막 시작 시간 후, fixedDelay는 말을하는 것입니다 마지막으로,이 끝난 후, fixedDelay 마지막 실행이 완료된 후, 장치가 밀리 시간을 나타냅니다.

@Scheduled(fixedDelay = 1000 * 3600 * 12) //上一次执行完毕后半天后再次执行

4.2 fixedDelayString

유사 fixedRateString도 자리를 지원합니다

@Scheduled(fixedDelayString = "${fixedDelay}")

5 initialDelay의

5.1 initialDelay의

initialDelay의은 /, 당신은 규칙 중 하나를 지정해야하는 시간을 첫 번째 실행 단위 MS 후에 지연, 크론 / 있도록, fixedRate / fixedRateString에 따라 수행 한 후 fixedDelay / fixedDelayString 지정 규칙을 나타냅니다.

@Scheduled(initialDelay=1000,fixedRate=1000) //首次运行延迟1s

5.2 initialDelayString

그리고 유사한 initialDelay의,하지만 자리의 문자열입니다.

@Scheduled(initialDelayString = "${initialDelay}",cron = "0 0 0 14 4 ?") 
//按照配置文件initialDelay指定的时间首次延迟,并于每年4月14日0时0分0秒执行

추천

출처www.cnblogs.com/Blueeeeeeee/p/12233449.html