디렉토리
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秒执行