Я ищу (простые) примеры проблем, для которых JMS является хорошим решением, а также причины, по которым JMS является хорошим решением в этих случаях. Раньше я просто использовал базу данных как средство передачи сообщений от A до B, когда сообщение не может быть обязательно обработано B немедленно.
Гипотетическим примером такой системы является то, что всем новым зарегистрированным пользователям следует отправлять приветственное электронное письмо в течение 24 часов после регистрации. Для аргумента предположим, что БД не записывает время, когда каждый пользователь зарегистрировался, но вместо этого ссылочный (внешний ключ) каждому новому пользователю хранится в таблице pending_email. Задача отправителя электронной почты выполняется один раз каждые 24 часа, отправляет электронное письмо всем пользователям в этой таблице, а затем удаляет все записи pending_email.
Это похоже на проблему, для которой JMS следует использовать, но мне непонятно, какая польза JMS для описанного мной подхода. Одним из преимуществ подхода БД является то, что сообщения являются постоянными. Я понимаю, что очереди сообщений JMS также могут сохраняться, но в этом случае, по-видимому, мало различий между JMS и подходом "база данных как очередь сообщений", который я описал?
Что мне не хватает? - Дон