пошаговый пример JMS в Spring Framework [закрыто]

7
задан willcodejavaforfood 27 April 2009 в 10:54
поделиться

2 ответа

В Spring JMS есть некоторые оговорки.

  1. Вы абсолютно не должны использовать Spring JMS напрямую на фабрике соединений JMS. Это связано с тем, что Spring, в частности JmsTemplate, открывает соединение, использует его для одного сообщения, а затем закрывает. Это правильный шаблон для использования, когда фабрика соединений фактически является пулом соединений. Но если это действительно просто фабрика соединений, вы собираетесь зарезать сервер под нагрузкой. Обычно это проблема, когда вы запускаете отдельное приложение, а не внутри контейнера J2EE, который обычно имеет адаптеры ресурсов или другие вещи, которые делают пул для вас. Spring предоставляет компонент SingleConnectionFactory, который будет повторно использовать соединение, но это не лучшее решение, когда вы Вы используете кластерный сервер и хотите сбалансировать нагрузку на ваши соединения и работу.
  2. Все API-интерфейсы Spring разработаны для обработки отдельных сообщений за раз. В некоторых случаях, когда вы можете иметь дело с партией сообщений, может быть предпочтительнее использовать Spring, чтобы предоставить вам фабрики соединений и тому подобное, но сверните свой собственный код, чтобы фактически выполнить ввод / вывод сообщений. Таким образом, вы можете, например, установить транзакционный сеанс, обработать 100 сообщений, а затем зафиксировать подтверждение в виде пакета. Это должно снизить нагрузку на сервер, если вы можете сделать это безопасно.
6
ответ дан 6 December 2019 в 23:13
поделиться

Вы можете проверить Spring in Action . В нем есть глава об обмене сообщениями с использованием JMS из Spring, которую я нашел полезной.

5
ответ дан 6 December 2019 в 23:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: