Централизатор планировщика задач
Мы используем планировщик задач в нашем расширении smartfox, и у нас есть 6 различных задач расписания. При каждом запросе расширения число активных потоков smartfox увеличивается на количество размеров пула потоков, которое мы устанавливаем для каждой службы scheduleexecutor. Похоже, нам нужно централизовать 1 планировщик и ссылаться на него из других классов. Мы просто не знаем, как сохранить ссылку на нее и создать новую задачу, не заполняя пул активных потоков новыми потоками. Пожалуйста, дайте мне знать, как централизовать планировщик и сохранить ссылку на него.
1 ответ
Вы можете заменить scheduleexecutors планировщиком Quartz - вы можете установить максимальное количество потоков в его пуле потоков через org.quartz.threadPool.threadCount
свойство config.
Самый простой способ сделать ссылку на планировщик доступной во всех ваших потоках, например
public class SchedulerWrapper {
private static Scheduler scheduler;
public static void addJob(JobDetail jobDetail) {
scheduler.addJob(jobDetail, true);
}
}