Пул соединений для IBM MQ в Spring Boot - PullRequest
0 голосов
/ 20 ноября 2018

В настоящее время я использую javax.jms.ConnectionFactory с Apache Camel и Spring Boot для обмена сообщениями.Я хочу использовать пул соединений для подключения IBM MQ в Spring bean.Как я могу это сделать?

1 Ответ

0 голосов
/ 20 ноября 2018

На сервере IBM MQ должна быть папка java/lib, содержащая файлы JAR, необходимые для подключения к IBM MQ, как упоминается в IBM Knowledge Center :

Внутри предприятия следующие файлы могут быть перемещены в системы, для которых необходимо запускать классы IBM MQ для приложений Java:

  • com.ibm.mq.allclient.jar
  • com.ibm.mq.traceControl.jar

Файл com.ibm.mq.allclient.jar содержит классы IBM MQ для JMS, классы IBM MQ для Java, а также классы PCF и заголовки.Если вы переместите этот файл в новое место, убедитесь, что вы предприняли шаги, чтобы сохранить это новое расположение в новых пакетах IBM MQ Fix Pack.Также убедитесь, что об использовании этого файла стало известно в службу поддержки IBM, если вы получаете временное исправление.

В этих файлах JAR вы можете найти реализацию ConnectionFactory, называемую MQQueueConnectionFactory.Вы должны добавить необходимые JAR-файлы в classpath вашего приложения, а затем вы можете настроить ConnectionFactory, например:

@Bean
public ConnectionFactory ibmConnectionFactory() throws JMSException {
    MQQueueConnectionFactory connectionFactory = new MQQueueConnectionFactory();
    // Change this to the hostname of the IBM MQ server
    connectionFactory.setHostName("myhost.example.org");
    connectionFactory.setPort(1414);
    // Change this to the queue manager you use
    connectionFactory.setQueueManager("MQ_NAME");
    connectionFactory.setTransportType(WMQConstants.WMQ_CM_CLIENT);
    // Create your own channel in stead of using SYSTEM.DEF.SVRCONN
    connectionFactory.setChannel("SYSTEM.DEF.SVRCONN");
    return connectionFactory;
}
...