Централизатор планировщика задач

Мы используем планировщик задач в нашем расширении 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);
    }
}
Другие вопросы по тегам