2014-01-22 8 views
0

나는 JEE JAX-RS 응용 프로그램을 작성 중이며 데이터베이스에 구성된 cron 표현식 (* 1 * * *)으로 ScheduleExpressions를 사용하고 있습니다. 내 게시물에 정기적으로 작업을 실행하는 타이머 서비스를 만들고 있습니다.ScheduleExpression에서 다음 실행 시간을 찾는 방법

이제 나머지 URI를 노출하여 오늘 예약 된 모든 예약 된 작업을 나열하려고합니다.

현재 다음 일정 시간을 찾으려면 다음 방법을 사용하고 있습니다. 코드 : EJBCronTrigger 트리거 = 새 EJBCronTrigger (scheduleExpression); 날짜 fireTimeAfter = trigger.getFireTimeAfter (새 날짜());

ScheduleExpression에서 다음 일정 시간을 찾는 다른 방법을 제안 할 수 있습니까? 어떤 종류의 도서관이 존재합니까?

+0

'TimerService.createTimer'를 호출하는 경우'Timer.getNextTimeout'을 사용할 수 있습니까? –

+0

예, 할 수 있습니다.하지만이 일정 리소스를 지정된 날짜에 실행중인 일정 리소스를 찾을 수있는 나머지 리소스로 표시하려고합니다. 답변 주셔서 감사합니다. – nrkkalyan

+0

Spring을 사용하는 다른 방법을 발견했습니다. CronSequenceGenerator를 Spring 프레임 워크에서 확인하십시오. 메소드 next (Date)를 제공합니다. CronSequenceGenerator 객체를 생성하려면 Crontab 표현식을 전달해야합니다. – nrkkalyan

답변

0
public String checkTimerStatus() { 
      Timer timer = null; 
      Collection<Timer> timers = service.getTimers(); 
      Iterator<Timer> iterator = timers.iterator(); 
      while (iterator.hasNext()) { 
       timer = iterator.next(); 
       return ("Timer will expire after " + 
         timer.getTimeRemaining() + " milliseconds."); 
      } 
      return ("No timer found"); 
     }