2015-02-03 4 views
0

달의 마지막 날을 건너 뛰도록 Quartz 스케쥴러를 사용자 정의하려면 어떻게합니까? 나는 그 달의 마지막 날을 제외한 모든 날에 배치를 실행하고 싶습니다. 월의 마지막 날에 실행하는 cron 표현식이 있지만 1-L-1과 같은 범위를 지정할 수 없습니다.Quartz Scheduler - 월 마지막 날 건너 뛰기

모든 도움을 주시면 감사하겠습니다.

답변

1

이것은 트리거 레벨에서 쉽게 해결 될 수 없습니다. 그러나 방아쇠 발사 일정에서 특정 요일을 제외시킬 수있는 매우 우아한 솔루션이 있습니다. Quatrz Calendar API를 확인하십시오.

public interface Calendar 
{ 
    public boolean isTimeIncluded(long timeStamp); 

    public long getNextIncludedTime(long timeStamp); 
} 

당신은이 Quartz tutorial 확인 할 수 있습니다 :

달력 인터페이스는 두 가지 방법을 정의합니다.

업데이트 : Quartz 배포판에는 사용자가 수행 한 기능을 제공하는 CronCalendar 구현이 포함되어있는 것으로 보입니다. 발사에서 제외되어야하는 일과 일치하는 cron 표현식을 사용할 수 있습니다. 따라서 'L'구문을 사용하여 cron 표현식을 사용하여 매월 마지막 날을 제외 할 수 있습니다.

+0

Perfect. CronCalendar가 내 목적을 정확하게 충족시키고 예상대로 작동합니다. 귀하의 회신에 감사드립니다! – javauser123

+0

다행입니다. 제 대답을 투표 해보십시오. 많은 감사합니다. –

관련 문제