Quartz 사용 시 cron expression에 정의한 시간에 정상 동작하는지를 체크해야 할 경우가 있다
단순한 방법으로는 테스트 하고자 하는 시간으로 표현식을 설정하고 그 시간에 스케줄링이 동작하는지 확인해 보면 되지만 이는 무식한 방법이다.
간단하게 quartz에서 제공하고 있는 CronExpression 클래스를 이용하여 테스트 가능하다.
@Test
public void cronTimeTest() throws ParseException {
// 매일 9, 12, 18시 정각에 스케줄링 동작
String cronEx = "0 0 9,12,18 * * ?";
CronExpression cronExpression = new CronExpression(cronEx);
Date nextTime1 = cronExpression.getNextValidTimeAfter(new Date());
Date nextTime2 = cronExpression.getNextValidTimeAfter(nextTime1);
Date nextTime3 = cronExpression.getNextValidTimeAfter(nextTime2);
Date nextTime4 = cronExpression.getNextValidTimeAfter(nextTime3);
System.out.println(nextTime1);
System.out.println(nextTime2);
System.out.println(nextTime3);
System.out.println(nextTime4);
}
[출력결과]
Thu Mar 17 18:00:00 KST 2016
Fri Mar 18 09:00:00 KST 2016
Fri Mar 18 12:00:00 KST 2016
Fri Mar 18 18:00:00 KST 2016
'프로그래밍' 카테고리의 다른 글
iframe에서 parent 페이지 접근을 위해서는 document.domain 필요 (0) | 2016.08.29 |
---|---|
문제를 통해 이해해보는 Javascript 기본 원리 (0) | 2016.07.29 |
Spring Controller 테스트 하기 (MockMvc 사용) (0) | 2016.05.18 |
Thread 생성 비용이 큰 이유 (0) | 2016.04.06 |
jedis returnBrokenResource 메서드에 대한 오해 (0) | 2016.03.09 |
Mybatis 쿼리 로그 출력 (0) | 2016.03.02 |
비트단위의 논리곱을 이용한 데이터 활용 방법 - 논리곱(and) & (1) | 2016.01.31 |
진수 변환 (0) | 2016.01.26 |