2010-02-01 3 views
4

Java EE의 타이머 작업은별로 편하지 않습니다. "0 20 20 * *"과 같은 cron 구문을 사용하여 타이머를 구성하는 유틸리티가 있습니까?Java EE 5의 Cron 구문?

Quartzinside (클러스터 된) Java EE 애플리케이션을 사용하는 것이 좋은지 궁금합니다. 석영 및 Java EE 클러스터링 제한이 http://www.prozesse-und-systeme.de/serverClustering.html (독일어 페이지)에 따르면

    JDBC는 석영을위한 작업 저장소로 사용되어야합니다
  • 만 클러스터 관련 석영 인스턴스는이 JDBC 작업 저장소를 사용하도록 허용
  • 모든 클러스터 노드가
  • 모든 클러스터 노드가 파일을 같은 quartz.properties을 사용해야합니다 두 번째 분할에 동기화해야합니다

나는 사기꾼을위한 쉬운 방법을 선호 타이머 서비스의 형상, 대신 Java EE 관리 스케줄러.

답변

5

Quartz는 분명히 cron-like 구문 (CronTrigger)을 지원하지만 사용자의 요구 사항은 명확하지 않습니다. 또한 Jcrontab 또는 cron4j을 살펴보십시오. 보조 노트 선언적 EJB 방법을 트리거 크론 같은 스케쥴을 생성하는 기능 등


합니다 (@Schedule 주석을 사용) EJB 3.1 타이머 서비스의 가장 중요한 개선 중 하나이다. 아래 예에서 취한 New Features in EJB 3.1 :

@Stateless 
public class NewsLetterGeneratorBean implements NewsLetterGenerator { 

    @Schedule(second="0", minute="0", hour="0", 
        dayOfMonth="1", month="*", year="*") 
    public void generateMonthlyNewsLetter() { 
     ... Code to generate the monthly news letter goes here... 
    } 
} 
+0

감사합니다. JEE 만 사용하고 싶습니다. TimerService.createCalendarTimer (ScheduleExpression)이 가장 좋습니다. 자세한 내용은 http://jcp.org/en/jsr/detail?id=318 – marabol

+0

@marabol에서 확인할 수 있습니다. JEE6이 옵션 인 경우 실제로 선택하는 것이 현명한 선택입니다. –