Spring Boot中的IBM MQ连接池

时间:2018-11-20 12:56:59

标签: apache spring-boot apache-camel ibm-mq

当前,我正在将javax.jms.ConnectionFactory与Apache Camel和Spring Boot一起用于消息传递。我想使用连接池在Spring bean中连接IBM MQ。我该怎么办?

1 个答案:

答案 0 :(得分:0)

在IBM MQ服务器上,应该有一个java/lib文件夹,其中包含连接到IBM MQ所需的JAR文件,正如IBM Knowledge Center中提到的那样:

  

在企业内部,可以将以下文件移动到需要为Java应用程序运行IBM MQ类的系统:

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

文件com.ibm.mq.allclient.jar包含JMS的IBM MQ类,Java的IBM MQ类以及PCF和Headers类。如果您将此文件移动到新位置,请确保您采取措施以通过新的IBM MQ Fix Pack维护此新位置。另外,如果您要获得临时修订,请确保IBM支持已知此文件的使用。

在这些JAR文件中,您可以找到名为MQQueueConnectionFactoryConnectionFactory的实现。您必须将必要的JAR文件添加到应用程序的类路径,然后可以配置ConnectionFactory,例如:

@Bean
public ConnectionFactory ibmConnectionFactory() throws JMSException {
    MQQueueConnectionFactory connectionFactory = new MQQueueConnectionFactory();
    connectionFactory.setHostName("myhost.example.org");
    connectionFactory.setPort(1414);
    connectionFactory.setQueueManager("MQ_NAME");
    connectionFactory.setTransportType(WMQConstants.WMQ_CM_CLIENT);
    connectionFactory.setChannel("SYSTEM.DEF.SVRCONN");
    return connectionFactory;
}