[java] 매일 봄 크론 표현 1 : 01 : am

Spring cron 표현식을 기반으로 고정 일정에 따라 코드를 실행하려고합니다. 매일 1 : 01 : am에 코드를 실행하고 싶습니다. 나는 다음과 같은 표현을 시도했지만 이것은 나에게 해가되지 않았다. 여기 구문에 어떤 문제가 있습니까?

@Scheduled(cron = "0 1 1 ? * *")
public void resetCache() {
    // ...
}



답변

시도해보십시오 :

@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”을 입력합니다. 월 필드와 “?” 요일 필드에

추신 : 작동하게하려면 응용 프로그램 컨텍스트에서 활성화해야합니다 : https://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/scheduling.html#scheduling- 주석 지원


답변

내 스케줄러의 경우 매일 오전 6시에 발사하기 위해 사용하고 있으며 cron 표기법은 다음과 같습니다.

0 0 6 * * *

1 : 01 : am을 원한다면로 설정하십시오.

0 1 1 * * *

스케줄러의 전체 코드

@Scheduled(cron="0 1 1 * * *")
public void doScheduledWork() {
    //complete scheduled work
}

** 매우 중요

스케줄러의 발사 시간 정확성을 확인하려면 다음과 같이 영역 값을 설정해야합니다 (Istanbul에 있음).

@Scheduled(cron="0 1 1 * * *", zone="Europe/Istanbul")
public void doScheduledWork() {
    //complete scheduled work
}

여기 에서 전체 시간대 값을 찾을 수 있습니다 .

참고 : My Spring 프레임 워크 버전은 4.0.7.RELEASE입니다.


답변

으로 메소드에 주석을 달 수 있습니다 @Scheduled(cron ="0 1 1 * * ?").

0-초

1 분

하루 중 1 시간


답변

gipinani의 답변에서 누락 된 것

@Scheduled(cron = "0 1 1,13 * * ?", zone = "CST")

1.01과 13.01에 실행됩니다. 패턴없이 하루에 여러 번 작업을 실행해야 할 때 사용할 수 있습니다.

그리고 영역 속성은 원격 서버에서 배포를 수행 할 때 매우 유용합니다. 이것은 봄 4와 함께 소개되었습니다.


답변

내가 주목 한 한 가지는 : spring CronTrigger는 cron이 아닙니다. 유효한 cron 표현식 (cronmaker.com에서 유효성을 검사 할 수 있음)에 7 개의 매개 변수가 생겨서이를 받아들이지 않을 수도 있습니다. 대부분의 경우 마지막 매개 변수를 삭제하면 모든 것이 잘 작동합니다.


답변

매일 봄 크론 표현 1 : 01 : am

@Scheduled (크론 = “01 1? * *”)

자세한 내용은 다음 정보를 확인하십시오.

https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm


답변