Код: Выделить всё
public class MyCron {
Logger logger = LoggerFactory.getLogger(MyCron);
private final ThreadPoolTaskScheduler scheduler;
private final CronTrigger cronTrigger;
private ScheduledFuture runnableTask;
public MyCron(String cronEntry) {
this.scheduler = new ThreadPoolTaskScheduler();
this.scheduler.setPoolSize(10);
this.scheduler.setThreadNamePrefix("MyCron-" + name + "-");
this.scheduler.initialize();
this.cronTrigger = new CronTrigger(cronEntry);
runnableTask = scheduler.schedule(this::workerThread, cronTrigger);
}
Код: Выделить всё
mycron | 2024-05-30T17:59:59.844Z INFO 1 --- [n-Cron test 2-7] c.e : Cron test 2 worker is running: Thu May 30 2024 17:59:59 GMT+0000 (UTC)
mycron | 2024-05-30T18:04:59.785Z INFO 1 --- [n-Cron test 1-1] c.e : Cron test 1 worker is running: Thu May 30 2024 18:04:59 GMT+0000 (UTC)
mycron | 2024-05-30T18:06:59.702Z INFO 1 --- [n-Cron test 2-7] c.e : Cron test 2 worker is running: Thu May 30 2024 18:06:59 GMT+0000 (UTC)
mycron | 2024-05-30T18:09:59.785Z INFO 1 --- [n-Cron test 1-1] c.e : Cron test 1 worker is running: Thu May 30 2024 18:09:59 GMT+0000 (UTC)
mycron | 2024-05-30T18:13:59.702Z INFO 1 --- [n-Cron test 2-7] c.e : Cron test 2 worker is running: Thu May 30 2024 18:13:59 GMT+0000 (UTC)
mycron | 2024-05-30T18:14:59.784Z INFO 1 --- [n-Cron test 1-1] c.e : Cron test 1 worker is running: Thu May 30 2024 18:14:59 GMT+0000 (UTC)
mycron | 2024-05-30T18:19:59.785Z INFO 1 --- [n-Cron test 1-1] c.e : Cron test 1 worker is running: Thu May 30 2024 18:19:59 GMT+0000 (UTC)
mycron | 2024-05-30T18:20:59.665Z INFO 1 --- [n-Cron test 2-7] c.e : Cron test 2 worker is running: Thu May 30 2024 18:20:59 GMT+0000 (UTC)
mycron | 2024-05-30T18:24:59.746Z INFO 1 --- [n-Cron test 1-1] c.e : Cron test 1 worker is running: Thu May 30 2024 18:24:59 GMT+0000 (UTC)
mycron | 2024-05-30T18:27:59.692Z INFO 1 --- [n-Cron test 2-7] c.e : Cron test 2 worker is running: Thu May 30 2024 18:27:59 GMT+0000 (UTC)
mycron | 2024-05-30T18:29:59.783Z INFO 1 --- [n-Cron test 1-1] c.e : Cron test 1 worker is running: Thu May 30 2024 18:29:59 GMT+0000 (UTC)
mycron | 2024-05-30T18:34:59.694Z INFO 1 --- [n-Cron test 2-7] c.e : Cron test 2 worker is running: Thu May 30 2024 18:34:59 GMT+0000 (UTC)
mycron | 2024-05-30T18:34:59.783Z INFO 1 --- [n-Cron test 1-1] c.e : Cron test 1 worker is running: Thu May 30 2024 18:34:59 GMT+0000 (UTC)
mycron | 2024-05-30T18:39:59.782Z INFO 1 --- [n-Cron test 1-1] c.e : Cron test 1 worker is running: Thu May 30 2024 18:39:59 GMT+0000 (UTC)
mycron | 2024-05-30T18:41:59.694Z INFO 1 --- [n-Cron test 2-7] c.e : Cron test 2 worker is running: Thu May 30 2024 18:41:59 GMT+0000 (UTC)
mycron | 2024-05-30T18:44:59.790Z INFO 1 --- [n-Cron test 1-1] c.e : Cron test 1 worker is running: Thu May 30 2024 18:44:59 GMT+0000 (UTC)
Мои версии: работают с Spring Boot v3.3.0, Spring v6.1.8
Спасибо!
Обновление: я вижу закрытый запрос, поскольку вопрос неясен. Я предполагал, что это довольно ясно, но я все равно попытаюсь объяснить это дальше. Поскольку я указал, что секунды CronTrigger установлены на ноль, я ожидаю, что мой планировщик будет работать через ноль секунд, а не на 59-й секунде. Это минимум. Другая сторона заключается в том, что если я настрою запуск каждые 5 минут, я ожидаю, что он запустится в 18:05:00, а не в 18:04:59. Вот ссылка на javadoc: https://docs.spring.io/spring-framework ... ng.String)
Подробнее здесь: https://stackoverflow.com/questions/785 ... ified-time
Мобильная версия