[SPRING] 매일 봄 cron 표현 1 : 01 : am
SPRING매일 봄 cron 표현 1 : 01 : am
내 코드를 Spring cron 표현식을 기반으로 고정 된 일정으로 실행하려고합니다. 매일 1시 1 분에 코드를 실행하고 싶습니다. 나는 다음 표현을 시도했다. 그러나 이것은 나를 위해 발사되지 않았다. 이 구문의 잘못된 점은 무엇입니까?
@Scheduled(cron = "0 1 1 ? * *")
public void resetCache() {
// ...
}
해결법
-
==============================
1.함께 시도해보십시오.
함께 시도해보십시오.
@Scheduled(cron = "0 1 1 * * ?")
아래에서 예제 포럼을 봄 포럼에서 찾을 수 있습니다.
* "0 0 * * * *" = the top of every hour of every day. * "*/10 * * * * *" = every ten seconds. * "0 0 8-10 * * *" = 8, 9 and 10 o'clock of every day. * "0 0 8,10 * * *" = 8 and 10 o'clock of every day. * "0 0/30 8-10 * * *" = 8:00, 8:30, 9:00, 9:30 and 10 o'clock every day. * "0 0 9-17 * * MON-FRI" = on the hour nine-to-five weekdays * "0 0 0 25 12 ?" = every Christmas Day at midnight
Cron 식은 6 개의 필드로 표현됩니다.
second, minute, hour, day of month, month, day(s) of week
(*)는 모든 것을 의미합니다.
* / X는 "모든 X"
? ( "특정 값 없음") - 문자가 허용되는 두 필드 중 하나에서 무언가를 지정해야하지만 다른 필드에서는 무언가를 지정해야하는 경우에 유용합니다. 예를 들어 특정 날짜 (예 : 10 일)에 트리거가 실행되기를 원하지만 일주일 중 어떤 요일이든 신경 쓰지 않으면 당일에 "10"을 입력합니다. of-month 필드와 "?" day-of-week 필드에 표시됩니다.
추신 : 작동 시키려면 애플리케이션 컨텍스트에서 활성화해야합니다. https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/scheduling.html#scheduling- 주석 지원
-
==============================
2.내 스케줄러의 경우 매일 오전 6시에 실행하기 위해 사용하고 있으며 cron 표기법은 다음과 같습니다.
내 스케줄러의 경우 매일 오전 6시에 실행하기 위해 사용하고 있으며 cron 표기법은 다음과 같습니다.
0 0 6 * * *
1시 01 분을 원한다면 다음과 같이 설정하십시오.
0 1 1 * * *
스케줄러에 대한 완전한 코드
@Scheduled(cron="0 1 1 * * *") public void doScheduledWork() { //complete scheduled work }
** 매우 중요
스케줄러의 발사 시간 정확성을 확인하려면 다음과 같이 영역 값을 설정해야합니다 (이스탄불에 있습니다).
@Scheduled(cron="0 1 1 * * *", zone="Europe/Istanbul") public void doScheduledWork() { //complete scheduled work }
전체 표준 시간대 값은 여기에서 확인할 수 있습니다.
참고 : My Spring 프레임 워크 버전 : 4.0.7.RELEASE
-
==============================
3.메소드에 @Scheduled (cron = "0 1 1 * *?") 주석을 달 수 있습니다.
메소드에 @Scheduled (cron = "0 1 1 * *?") 주석을 달 수 있습니다.
0 - 초 동안입니다.
1 ~ 1 분
1 시간.
-
==============================
4.gipinani의 대답에서 빠진 것이 있습니다.
gipinani의 대답에서 빠진 것이 있습니다.
@Scheduled(cron = "0 1 1,13 * * ?", zone = "CST")
이것은 1.01과 13.01에서 실행됩니다. 하루에 여러 번 패턴없이 작업을 실행해야 할 때 사용할 수 있습니다.
그리고 zone 속성은 원격 서버에 배포 할 때 매우 유용합니다. 이것은 봄 4에 소개되었습니다.
-
==============================
5.내가 알아 차 렸던 한 가지는 : 봄 CronTrigger는 cron이 아닙니다. 유효한 cron 표현식에서 7 개의 매개 변수로 끝나고 (cronmaker.com에서 유효성을 검사 할 수 있음) 스프링을 허용하지 않습니다. 대부분의 경우 마지막 매개 변수 만 삭제하면 모든 것이 잘됩니다.
내가 알아 차 렸던 한 가지는 : 봄 CronTrigger는 cron이 아닙니다. 유효한 cron 표현식에서 7 개의 매개 변수로 끝나고 (cronmaker.com에서 유효성을 검사 할 수 있음) 스프링을 허용하지 않습니다. 대부분의 경우 마지막 매개 변수 만 삭제하면 모든 것이 잘됩니다.
-
==============================
6.매일 봄 cron 표현 1 : 01 : am
매일 봄 cron 표현 1 : 01 : am
@ 스케줄 (cron = "0 1 1? * *")
자세한 내용은 다음 정보를 확인하십시오.
https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm
from https://stackoverflow.com/questions/26147044/spring-cron-expression-for-every-day-101am by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring MVC 3에서 페이지 매김을 구현하는 방법 [닫기] (0) | 2018.12.10 |
---|---|
[SPRING] 스프링을 사용하여 프로그래밍 방식으로 속성 파일에 액세스 하시겠습니까? (0) | 2018.12.10 |
[SPRING] 스프링 보안에서 역할과 GrantedAuthority의 차이점 (0) | 2018.12.10 |
[SPRING] Java Generics 및 Enum, 템플릿 매개 변수 손실 (0) | 2018.12.10 |
[SPRING] 봄 Java 구성 대 Jboss 7 (0) | 2018.12.10 |