Я думаю, что у этого вопроса есть несколько аспектов.
Во-первых, в Quartz есть API-методы для приостановки и возобновления работы планировщика или даже отдельных триггеров и заданий
например.
http://www.jarvana.com/jarvana/view/opensymphony/quartz/1.6.1/quartz-1.6.1-javadoc.jar!/org/quartz/Scheduler.html#standby()
Я бы создал подпружиненный компонент со ссылкой на планировщик или триггер Quartz и простой логический элемент isMasterNode для хранения состояния. Затем я бы выставил 2 вызова веб-службы [с ограниченным доступом]: makeMaster и makeSlave, которые будут вызывать Scheduler.resume () или standby / pause соответственно.
В конце концов, главный вопрос в том, как и с помощью чего вы определяете, что другой узел «разбился».
Если вы используете аппаратный балансировщик нагрузки для управления этим, вы можете настроить его так, чтобы он вызывал WS 'makeMaster' на новом 'основном' узле, который, в свою очередь, вызывает Scheduler.resume () или аналогичный.
НТН