当前,我正在将javax.jms.ConnectionFactory与Apache Camel和Spring Boot一起用于消息传递。我想使用连接池在Spring bean中连接IBM MQ。我该怎么办?
答案 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文件中,您可以找到名为MQQueueConnectionFactory
的ConnectionFactory
的实现。您必须将必要的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;
}