如何更改一天中的时间以执行 EJB TimeService
How to change hour of day to execute EJB TimeService
我想要一个进程在每天的特定时间 运行。我想使用 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);
}
我想在 运行 时间将定时器从 "Every day at 2am" 更改为 "Everyday at 3am"。
你想要:
createCalendarTimer(ScheduleExpression schedule)
ScheduleExpression 将执行您想要的操作。
我想要一个进程在每天的特定时间 运行。我想使用 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);
}
我想在 运行 时间将定时器从 "Every day at 2am" 更改为 "Everyday at 3am"。
你想要:
createCalendarTimer(ScheduleExpression schedule)
ScheduleExpression 将执行您想要的操作。