Spring JMS: создание нескольких подключений к очереди - PullRequest
1 голос
/ 10 марта 2011

Для обработки большого количества сообщений, поступающих в очередь, мне нужна гарантия, что в любое время будет установлено хотя бы одно соединение jms. Я использую весну, и пружина позволяет иметь несколько сеансов только на одном соединении. В случае сбоя одного-единственного соединения приложение остановится, пока пружина не подключится к мосту JMS.

Итак, как я могу создать более одного соединения с очередью в Spring, а также как я могу сделать пул соединений здесь.

1 Ответ

3 голосов
/ 12 марта 2011

Ответ на этот вопрос зависит от того, используете ли вы Spring внутри контейнера J2EE (jboss и т. Д.) Или в автономном приложении.

Автономный - вы найдете проблемы с пулированием соединений. Springs SingleConnectionFactory может быть настроен для возобновления соединения при исключении, гарантирующем, что в какой-то момент соединение будет установлено и снова начнет обрабатывать очередь, но у вас все еще будет проблема с ожиданием обновления этого единственного соединения, плюс в зависимости от того, что Реализация обмена сообщениями, с которой вы работаете, и как она выполняет балансировку нагрузки. Возможно, вы застряли при подключении к одному узлу в кластере.

Если вы работаете в контейнере, вы можете положиться на фабрику соединений контейнеров, которая будет гораздо более надежной. Например, JBoss Messaging в контейнере без проблем переключается на другие узлы и обрабатывает пулы под крышками, но если вы работаете в контейнере, обычно проще создать шаблон JMS, который отстой и использует все, что обеспечивает этот контейнер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...