Spring Boot Quartz: может ли кварц планировать работу во время выполнения для каждого узла (кластерный режим)? - PullRequest
1 голос
/ 30 января 2020

Я создаю механизм планировщика для микросервиса с архитектурой java Проект весенней загрузки. Я использую кварц с кластерным режимом. Я настроил bean-компонент schedulerFactory, bean-компонент jobFactory и bean-компонент triggerFactory для весны, чтобы я мог вводить их весной. Таким образом, весна создает все заводские бобы для меня при запуске. И поскольку кварц использует эти фабричные bean-компоненты (для создания bean-компонентов), в моих контекстах (для каждого узла) будет 6 bean-компонентов: schedulerFactoryBean, schedulerBean, jobFactoryBean, jobBean, triggerFactoryBean и factoryBean при запуске на каждом узле.

Я могу вводить эти бины в контроллер и манипулировать ими как, я даже могу создать новый планировщик, задание и триггеры.

Как я знаю, кварц только синхронизирует фабричные бины через базу данных (при запуске каждый узел создает в соответствующей таблице запись, которая говорит: «Эй, я здесь»).

Вот мой вопрос. Когда я хочу создать bean-компонент планировщика через конечную точку отдыха, я должен отправить один и тот же запрос каждому узлу. Что я хочу, чтобы кварц сделал так: я хочу отправить только один запрос только одному узлу, а другие узлы должны синхронизировать c свои собственные значения (поскольку у меня кластеризованная структура, узел-получатель будет случайным).

Мой второй вопрос: поскольку бины хранятся в куче, при каждом запуске мои созданные во время выполнения объекты сбрасываются. Я хочу, чтобы они были настойчивыми. Может ли кварц сделать это? В любом случае, я могу это сделать?

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...