нужен какой-то планировщик заданий или отложенная очередь сообщений в мире Java - PullRequest
0 голосов
/ 18 октября 2018

Мне нужно выполнить процесс в будущем, скажем, 20 минут, в зависимости от происходящего события, но мне может потребоваться отменить этот запланированный процесс в зависимости от различных факторов.Или мне может понадобиться перезапустить таймер на работе, в зависимости от другого события .... и т. Д.Вы поняли идею.Все разные перестановки этого.Кто-нибудь знает хорошие технологии для этого?Может быть, кварц (отстой кварц? Он все это делает?), Может быть activemq, может быть, какая-то другая технология планирования работы?Спасибо!-Ron

1 Ответ

0 голосов
/ 20 октября 2018

Планировщик ActiveMQ хорошо подходит для этого.Шаблон может выглядеть примерно так:

  1. Запуск процесса (получение некоторого идентификатора)
  2. Отправка сообщения в планировщик ActiveMQ для запуска за период времени x 1006 *
  3. Потребитель сообщений получает сообщение таймера, извлекает идентификатор для проверки состояния
  4. Если процесс завершен .. продолжить и завершить
  5. Если процессу требуется больше времени ожидания, отправьте другое сообщение таймера в ActiveMQ

Все асинхронно, а необходимый код очень минимален.Большим преимуществом использования ActiveMQ является то, что несколько пользователей могут прослушивать запланированное сообщение для обеспечения высокой доступности.

...