Очередь сообщений или планировщик

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

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

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

Я еще не использовал JMS, таким образом, это - то, что я считал.

Walter

7
задан 23 April 2010 в 14:30
поделиться

3 ответа

Они действительно разные, и это зависит от цели и частоты отправки электронного письма. Планировщик генерирует событие, зависящее от времени, а затем запускает некоторый код для отправки электронного письма. {{1} } Очередь не может инициировать событие, ей нужно, чтобы в нее откуда-то было помещено сообщение, а затем MessageListener отправил электронное письмо.

Чтобы ответить на ваш вопрос, очередь - хороший инструмент для отправки электронного письма, если

  1. Сообщение необходимо вернуть в очередь, если операция завершилась неудачно, даже если SMTP делает не знаю, достигло ли электронное письмо адресата.
  2. Некоторые триггеры могут помещать сообщение в очередь.

Планировщик может запускать некоторый Java-код с определенным интервалом и, следовательно, генерировать временные события. Если вы хотите отправлять периодические электронные письма, то планировщик - это то, что вам нужно.

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

2
ответ дан 7 December 2019 в 09:58
поделиться

Я согласен с Томом в том, что такую ​​асинхронную связь лучше всего осуществлять через очередь. Что работает как модель публикации-подписчика, следуя шаблону наблюдателя.

1
ответ дан 7 December 2019 в 09:58
поделиться

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

3
ответ дан 7 December 2019 в 09:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: