Я хочу знать, как службы таймера Ejb рассчитывают время ожидания?Требует ли это системного времени и в зависимости от этого рассчитывает время ожидания или у него внутри есть механизм для запуска таймера для себя.Если он использует свой собственный механизм, что это такое, и можем ли мы сделать некоторые настройки, чтобы он мог рассчитать время ожидания в зависимости от системного времени?
Я искал эту информацию и не нашел никакой соответствующей информации. В настоящее время я используюTimerService в моем коде и программно созданы таймеры.Но когда я меняю системное время, таймер работает в соответствии с этим.Тайм-аут наступает по истечении заданного времени создания таймера.
Если я не изменяю системное время, то планировщики работают отлично.
Даже если вы можете перенаправить меня на любую такую информацию,be gr8 help.
Любая помощь будет действительно ценной.
Код выглядит следующим образом
ScheduleExpression everyDayAtTenTwenty = new ScheduleExpression();
TimerConfig timerConfig = new TimerConfig();
timerConfig.setPersistent(false);
timerConfig.setInfo("testTask");
everyDayAtTenTwenty.start(date).year("2011,2012").month("Jun").dayOfMonth("19").dayOfWeek("*").hour("16-23").minute("30"); timerConfig.setInfo("testTask : ");
timerKeeperBeanLocal.scheduleTimer(everyDayAtTenTwenty, timerConfig);
timerKeeperBeanLocal implementation
@Resource
private TimerService timerService;
Timer timer = this.timerService.createCalendarTimer(scheduleExpression, timerConfig);
Теперь я хочу, чтобы планировщик выполнялся 19 июня 2011 и 2012 гг. Теперь текущая дата - 19 июня 2011 г., поэтому сегодня он выполняется иВ тот же день я изменяю системную дату на 29 июня 2011 года вместе с надлежащим временем.В таком случае планировщик не работает.То же самое можно проверить с изменениями в течение нескольких часов.Нужно ли делать что-то еще, чтобы работать по системному времени.
Заранее спасибо.