Запустите cron4j несколько раз
Мне нужно написать класс Java, который выбирает другое время из базы данных, а затем вызывает функцию в это время. Времена могут изменяться в базе данных, и значение, соответствующее времени в БД, отправляется в качестве аргументов функции. Я должен быть уверен, что это происходит каждый день во время, указанное в БД.
Scheduler s = new Scheduler();
s.schedule("0 5 * * *", new Runnable() {
public void run() {
//call your function
TestClass tc = new TestClass(value);
}
});
// Starts the scheduler.
s.start();
try {
Thread.sleep(1000L * 60L * 10L);
} catch (InterruptedException e) {
;
}
// Stops the scheduler.
s.stop();
Этот код звонит в класс каждый день в 5:00:00, но я не уверен, что передать Thread.sleep()
Мне тоже нужно писать несколько раз и убедиться, что он работает долго, то есть больше года.
1 ответ
Если вы хотите, чтобы это работало в течение года, то вам не следует sleep()
, Вы должны иметь свой Scheduler
остановлено только ваше приложение закрывается. Поэтому, пока ваше приложение работает, предположительно, в течение года или более, ваш планировщик также должен работать.