Я могу сделать ожидание огнем Quartz Jobs в порядке, они были инициированы?

У меня есть приложение с помощью Кварцевого Планировщика для планирования заданий. Приложение в настоящее время выполняет Кварцевую версию 1.6.2. Мой JobStore является org.quartz.impl.jdbcjobstore. JobStoreTX с базой данных Oracle, поддерживающей его. Кластеризация включена, но существует только один планировщик с помощью базы данных. Мой Кварцевый пул потоков настроен следующим образом:

org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 5
org.quartz.threadPool.threadPriority = 5

Мои задания длительны, таким образом, довольно распространено иметь 5 выполнений заданий (максимум, позволенный моим объединением thead), когда триггеры запускают новые задания. Недавно инициированные задания дают осечку, и я вижу сообщения журнала как следующее:

2011-05-20 04:09:30,097 INFO  [QuartzScheduler_scheduler-servername-111305822374881_MisfireHandler] o.q.p.h.LoggingTriggerHistoryPlugin - Trigger DEFAULT.JobName1 misfired job DEFAULT.DEFAULT  at:  04:09:30 05/20/2011.  Should have fired at:  04:08:29 05/20/2011
2011-05-20 04:09:30,120 INFO  [QuartzScheduler_scheduler-servername-111305822374881_MisfireHandler] o.q.p.h.LoggingTriggerHistoryPlugin - Trigger DEFAULT.JobName1 misfired job DEFAULT.DEFAULT  at:  04:09:30 05/20/2011.  Should have fired at:  04:09:30 05/20/2011
2011-05-20 04:09:30,125 INFO  [QuartzScheduler_scheduler-servername-111305822374881_MisfireHandler] o.q.p.h.LoggingTriggerHistoryPlugin - Trigger DEFAULT.JobName2 misfired job DEFAULT.DEFAULT  at:  04:09:30 05/20/2011.  Should have fired at:  04:08:30 05/20/2011
2011-05-20 04:09:30,138 INFO  [QuartzScheduler_scheduler-servername-111305822374881_MisfireHandler] o.q.p.h.LoggingTriggerHistoryPlugin - Trigger DEFAULT.JobName2 misfired job DEFAULT.DEFAULT  at:  04:09:30 05/20/2011.  Should have fired at:  04:09:30 05/20/2011
2011-05-20 04:11:29,998 INFO  [QuartzScheduler_scheduler-servername-111305822376676_MisfireHandler] o.q.impl.jdbcjobstore.JobStoreTX - Handling 2 trigger(s) that missed their scheduled fire-time.

После того как рабочее задание заканчивается, одно из давших осечку заданий будет взято и обычно работает. Однако Кварц, кажется, берет давшее осечку задание случайным образом без отношения к заказу, который задания, как первоначально планировали, выполнят. Идеально, я хотел бы, чтобы они были взяты в порядке, который они, как предполагалось, выполнили, на основе их исходных времен огня.

Действительно ли возможно сделать (давшие осечку) задания моего ожидания, запущены в порядок, они были инициированы однажды пространство в Кварце, ThreadPool становится доступным?

9
задан Jon Quarfoth 20 May 2011 в 03:26
поделиться