我希望每天在特定时刻每天运行一个进程。我想使用EJB的Timerservice,但我只能找到如何设置间隔,而不是一天中的特定小时:
@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);
}
我想从&#34;每天凌晨2点更改计时器&#34;到每天凌晨3点&#34;每天凌晨3点。在运行时。
答案 0 :(得分:1)
你想:
createCalendarTimer(ScheduleExpression schedule)
ScheduleExpression将执行您想要的操作。