2016-12-09 23 views
0

毎日特定の時刻に毎日実行するプロセスが必要です。私は、EJBのののTimerServiceを使用したいが、私は唯一の間隔ではなく、一日の特定の時間を設定する方法を見つけることができます:EJB TimeServiceを実行する時刻を変更する方法

@Resource 
    protected TimerService timerService; 

    @Timeout 
public void timeoutHandler(Timer timer) { 
    String name = timer.getInfo().toString(); 
    System.out.println("Timer name=" + name); 
} 

public void startOrModifyTimer(long initialExpiration, long interval, String name){  
    //Cancel previous timer 
    Collection<Timer> timers = timerService.getAllTimers(); 
    for (Timer timer: timers) { 
     if (timer.getInfo().equals(name)) { 
      timer.cancel(); 
     } 
    } 

    TimerConfig config = new TimerConfig(); 
    config.setInfo(name); 
    config.setPersistent(false); 
    timerService.createIntervalTimer(initialExpiration, interval, config); 
} 

私は毎日」に「午前2時毎日」からタイマーを変更したいです3時に "と表示されます。

答えて

1

あなたが欲しい:

createCalendarTimer(ScheduleExpression schedule) 

ScheduleExpressionはあなたがやりたいだろう。

関連する問題