2015-01-15 13 views
1

Для жизни я не могу понять, как настроить Quartz на наличие двух экземпляров планировщика. В настоящее время я использую кварц, чтобы получить один экземпляр планировщика, но хотел бы, чтобы два экземпляра, как описано в documentation, потому что у меня есть задания с небольшим весом, которые я хочу запускать всякий раз, когда мне нужно, ограничивая несколько тяжеловесных заданий несколькими экземплярами ... как описывает документация, но не может понять это.Quartz Scheduler/Multiple (Non Clustered) Scheduler Экземпляры

Может ли кто-нибудь дать мне быстрый пример того, как должны выглядеть файлы свойств и как создавать экземпляры отдельных планировщиков?

+0

The [Кварцевые документы на нескольких планировщиков ] (http://www.quartz-scheduler.org/documentation/quartz-2.x/cookbook/MultipleSchedulers.html) - это немного мусор. Они обсуждают это, но на самом деле не показывают вам, как –

ответ

2

У меня нет опыта их настройки с помощью файлов свойств, но у меня есть мое установку следующим образом:

FileAppender fa = new FileAppender(new PatternLayout("%d{[dd/MM/yyy HH:mm:ss]} :: %2p :: %C{1} : %M :: %m%n"), 
      ".\LogFiles\scheduler.log"); 
    fa.setName("QuartzScheduler"); 
    fa.setThreshold(Level.ALL); 
    fa.setAppend(true); 
    fa.activateOptions(); 
    org.apache.log4j.Logger.getLogger("org.quartz").addAppender(fa); 
    org.apache.log4j.Logger.getLogger("org.quartz").setLevel(Level.INFO); 
    SimpleThreadPool threadPool = new SimpleThreadPool(25, Thread.NORM_PRIORITY); 
    JobStore jobStore = new RAMJobStore(); 
    threadPool.setInstanceName("MyQuartz"); 
    DirectSchedulerFactory.getInstance().createScheduler(threadPool, jobStore); 
    Scheduler operationScheduler = DirectSchedulerFactory.getInstance().getScheduler(); 
    operationScheduler.start(); 

Там нет причин, почему вы не могли бы создать небольшой фабричный метод, чтобы настроить вещи как количество потоков, имя экземпляра, связанный файл журнала и т. д. Это также позволит вам легко масштабировать свой код и создавать планировщики по требованию, а не вручную редактировать файл.

+1

Спасибо, что работал на меня! –

+0

Отлично! Я рад помочь :) – Fallso

1

Я думаю, что ключевым моментом в том, чтобы работать с несколькими экземплярами, является указание на то, чтобы имя каждого экземпляра было чем-то отличным. Я знаю, например, это может вызвать проблемы при настройке несколько планировщиков с весны (который я считаю, отражает тот же основной вопрос в самом кварце Посмотреть этот весенний форум пост Подробности:.

http://forum.spring.io/forum/spring-projects/container/32312-multiple-quartz-schedulerfactorybean-instances