Я понимаю, что:
- MD B s (Message Driven Beans) подключается через спецификацию активации.
- MD P s (Message Driven POJO) подключается через Connection Factory.
Эта диаграмма от IBM полезна:
Для меня это объяснение от IBM не проливает много света на разницу:
- Соединение factory - используется приложением для подключения к шине обмена сообщениями.
- Очередь - используется приложением для отправки и получения сообщений.
- Спецификация активации - используется приложением bean, управляемым сообщением, для подключения к очереди и приема сообщений.
Одна реальная разница которую я нашел, заключается в том, что:
Сессия beans и сущность beans [aka MDPs] позволяют отправлять сообщения JMS и получать их синхронно, но не асинхронно. Чтобы избежать связывания серверных ресурсов, вы можете не использовать блокировку синхронных получает в серверном компоненте. Получение сообщений асинхронно используйте управляемый сообщениями bean [MDB].
Итак, неудовлетворительный список, который у меня есть до сих пор:
- Используйте ActivationSpec с MDB и ConnectionFactory с POJO (но подождите, может ли POJO использовать ActivationSpec тоже?)
- MDB работает асинхронно. MBP работает синхронно.
Мой вопрос: существуют ли другие различия? Вы можете уточнить разницу?
Литература: