Я создал функцию doWork()
, которая должна запускаться каждый день в 1:00 утра, функция следующая:
@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]: Сведения о средах
Сервер приложений: WebSphere Application Server 8.5.5
IDE: Rational Application Developer 9.1
Система управления базами данных: IBM DB2 10.1