Что вы используете для «очереди» вашего решения?Ваш собственный код?
JMS - это просто API над системой очередей какого-то поставщика, но включающий аспекты удаленного взаимодействия.Таким образом, с точки зрения клиента вы просто помещаете сообщение в очередь (или тему, если вы работаете в пабе), и забываете об этом.Инфраструктура доставляет его слушателю (ям).
Я вижу, что большая часть возможностей JMS исходит от качества реализации инфраструктуры массового обслуживания, а не от самого API, это довольно просто.
Простые RMI плохо масштабируются или не решают проблемы надежности, хорошая система организации очередей может быть как масштабируемой, так и отказоустойчивой.
Я думаю, будет справедливо сказать, что JMS и остальная часть Java EEпредназначен для обеспечения качества вашего приложения.Первоначально я думал, что Java EE в целом был сложным, хотя я думал, что JMS был одним из более простых углов.Сегодня я не уверен, что написание RMI + вашей собственной очереди проще, чем просто использование JMS.
Возможно, существенным отличием является то, что использование JMS в значительной степени предполагает наличие некоторой инфраструктуры, например, сервера приложений.