Почему бы не использовать сессионные компоненты вместо управляемых сообщениями? - PullRequest
11 голосов
/ 01 октября 2010

Мне интересно, почему бы не использовать Сессионные Бины вместо Бинов, управляемых сообщениями?

Если вы можете вызывать удаленные методы из EJB, так зачем беспокоиться об отправке / получении сообщений с Бинами, управляемыми сообщениями (что труднеечем разрабатывать сессионные компоненты)?

В каких случаях полезны управляемые сообщениями компоненты?

Ответы [ 3 ]

12 голосов
/ 01 октября 2010

Мне интересно, почему бы не использовать сессионные компоненты вместо управляемых сообщениями?

Хмм, они не служат той же цели, управляемые сообщениями компоненты позволяют приложениям Java EEобрабатывать сообщения асинхронно.

Если вы можете вызывать удаленные методы из EJB, так зачем беспокоиться об отправке / получении сообщений с помощью управляемых сообщениями компонентов (которые сложнее разработать, чем сессионные компоненты)?

Поскольку MDB обеспечивают асинхронность и слабую связь, это то, что вам может понадобиться / нужно в некоторых ситуациях:

  • для долго выполняющихся заданий
  • , когда ресурсы не всегдадоступно
  • когда вы хотите распараллелить обработку

Кстати, лично я всегда считал, что MDB - это самый простой в разработке корпоративный компонент.

В каких случаях полезны управляемые сообщениями бины?

См. Выше.

См. Также

2 голосов
/ 15 апреля 2013

Оба служат разным целям.

1) если вы хотите использовать его только для удаленного использования методов, просто используйте Session Bean

2) но если ответ / результат не имеет значения, но последующее сообщение имеет значение для вас, перейдите к JMS, поскольку он создает очередь, чтобы заставить ее работать и установить сообщение. но проблема производительности будет там.

если вам нужно использовать только метод, просто используйте Session bean, так как это легкий компонент. и это дает хорошую производительность.

2 голосов
/ 01 октября 2010

Бины, управляемые сообщениями, слушают JMS-очереди асинхронно в отличие от бинов сущности / сеанса.

Это не блокирует ресурсы сервера, поскольку обработка происходит только тогда, когда сообщение поступило в очередь.

Помимо множества форумов и сайтов по Java, в Википедии есть хороший набор вариантов использования, где пригодятся MDB

http://en.wikipedia.org/wiki/Enterprise_JavaBean#Message_driven_beans

...