Как объединить JMS-соединение в отдельное Java-приложение? - PullRequest
5 голосов
/ 19 января 2012

Мы работаем над приложением IBM WebSphere MQ и используем JMS API для обработки сообщения. Но у нас есть проблема в том, что соединение занимает слишком много времени, и мы хотим объединить JMS-соединение, поскольку это отдельное приложение, у нас нет контейнера приложений для предоставления JNDI или службы пула. Так есть ли решение, чтобы решить эту проблему? Для JDBC мы можем использовать DBCP или c3p0 для архивирования источника данных пула, в JMS, есть ли подобный проект, который может объединять соединения JMS?

Ответы [ 2 ]

7 голосов
/ 19 января 2012

Раньше JMS MQConnectionFactory имел встроенный пул, но, похоже, в версии 7 он был удален.более ранние версии классов WebSphere MQ для JMS.Этот метод сохранен для совместимости со старыми приложениями MQJMS, но, поскольку эта функциональность пула подключений была удалена из версии 7, установка этого свойства не будет иметь никакого значения.можно использовать Apache Commons Pool .Та же идея, что и у DBCP (которая использует пул), но не для объектов JDBC.

0 голосов
/ 29 июня 2015

Spring CacheConnectionFactory хорошо работает для этого варианта использования. Этот ответ в https://stackoverflow.com/a/31119435/1765341 объясняет, как это сделать в Tomcat, но код, который там можно легко адаптировать для автономных приложений Java. Это должно быть намного проще (и менее подвержено ошибкам), чем написание реализации Apache Commons Pool.

...