Я создал функцию doWork()
, которая по расписанию запускать каждый день в 1:00 утра, функция выглядит следующим образом:Java Timer Service работает несколько раз
@Schedule(hour = "1", persistent = false)
public void doWork()
{
System.out.println("Starting .....\nTIME: " + System.currentTimeMillis());
System.out.println("this : " + this);
//Some code here, if-conditions and try/catch blocks. No loops
System.out.println("Exiting .....\nTIME: " + System.currentTimeMillis());
System.out.println("this : " + this);
}
Проблема в том, что эта функция работает более чем один раз , а не по расписанию.
Как только я его создал, он работал точно так, как ожидалось (каждый день в 1:00:00 точно). Через несколько дней он начал работать в 1:03:00 (что не имеет никакого смысла, так как это непостоянно, и в любом случае на сервере не было простоя). После этого функция запускалась более одного раза с очень короткими интервалами между (разность секунд)
Кто-нибудь знает, что может вызвать это, или сообщите мне, что я могу сделать, чтобы исправить это?
[EDIT]: среда детали
Application Server: WebSphere Application Server 8.5.5
IDE: Rational Application Developer 9.1
Database Management System: IBM DB2 10,1
Какой сервер приложений (и версия) вы используете? Это может помочь проверить, есть ли проблемы, связанные с этой AS. –
Как вы записываете время службы? Выход журнала? Время системы/сервера? – kolossus
@ OlivierGrégoire Я использую WebSphere Application Server 8.5.5 –