У меня есть Планировщик EJB для задач:
@Bean
public TaskScheduler poolScheduler() {
ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler();
scheduler.setThreadNamePrefix("sumarizacao_tasks_scheduler");
scheduler.setPoolSize(1);
scheduler.initialize();
return scheduler;
}
И у меня запланированы разные задачи. Следующим образом:
scheduler.schedule(quickTask, new CronTrigger("0 * * * * ?")); // each minute
scheduler.schedule(slowTask, new CronTrigger("0 0 23 * * ?")); // once a day
Некоторые большие задачи, которые занимают часы времени, а другие выполняются всего за несколько секунд. Итак, ситуация такова, что быстрые задачи не могут быть запланированы, когда медленные выполняются, я беспокоюсь, пока выполняется большая и медленная задача. Как я могу гарантировать, что ни одна из других задач не будет запланирована? Достаточно просто ограничить пул?