Запустите 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 остановлено только ваше приложение закрывается. Поэтому, пока ваше приложение работает, предположительно, в течение года или более, ваш планировщик также должен работать.

Другие вопросы по тегам