сбросить контрольное время ScheduledExecutorService

Я использую ScheduledExecutorService для запуска нескольких задач каждые x секунд

eg.

ScheduledExecutorService schedules;
schedules.scheduleAtFixedRate(new UpdateTask(), 0, 10, TimeUnit.SECONDS);

Работает отлично, если только система не меняет дату "в прошлое". Поскольку у нас система без батареи, наша система запускается с неправильной датой и получает правильное время немного позже из другой системы.

Если они получат правильное время в будущем, нет проблем. Если они получают время в прошлом, запланированные задачи больше не выполняются.

В любом случае, перезапустить или сбросить расписания, чтобы они начинали отсчет с нового, исправленного времени?


person Frank    schedule 16.06.2016    source источник
comment
проверьте stackoverflow.com/questions/9044423/   -  person kTT    schedule 16.06.2016


Ответы (1)


Как упомянул kTT, это проблема 64-битного планировщика Java который полностью не зависит от изменений системного времени

Так что не решено, и @kTT и @YoK получают признание!

person Frank    schedule 29.07.2016