HornetQ Core API - это собственный API от HornetQ, в то время как JMS API - это стандартный API, определенный в процессе сообщества Java.
Есть несколько функций, которые не поддерживаются в JMS API, которые доступны через core-api:
Невозможно иметь несколько потребителей по одной подписке на тему (скажем, если вы хотите, чтобы несколько пользователей масштабировали ее лучше)
Это более общий способ создания подписки. Вы просто создаете очередь внутри адреса. Очень просто.
У нас есть хороший API для асинхронных подтверждений. Нет необходимости блокировать когда-либо, если вы используете эту функцию.
Преимуществом JMS является мобильность. Ваш код остается прежним, если вы решили перейти от одного поставщика к другому.
Недостатком JMS является то, что ему не хватает некоторых функций, и он немного многословен, что сейчас работает над JMS 2 JSR.
- Да, потому что, как я уже говорил, API-интерфейс Hornetq-core является проприетарным API, поэтому он будет работать только на HornetQ. Так же, как некоторые системы сообщений будут иметь собственный API.
Если вы инкапсулируете свой доступ к обмену сообщениями, вы можете минимизировать это, хотя вы могли бы просто заменить один класс в вашей системе, используя стандартные методы ОО.