package com.ljg.di.util;
import javax.jms.Connection;
import javax.jms.JMSException;
import javax.jms.Session;
import com.ibm.mq.jms.MQQueueConnectionFactory;
import com.ljg.di.common.DiConstants;;
public class IBMUtils {
public Connection getConnect(String host, int port, int ccsId, String channel, String queueManager,
int transportType) throws JMSException {
MQQueueConnectionFactory fatory = (MQQueueConnectionFactory) SpringUtils.getBean("mQQueueConnectionFactory");
fatory.setHostName(host);
fatory.setPort(port);
fatory.setCCSID(ccsId);
fatory.setQueueManager(queueManager);
fatory.setChannel(channel);
fatory.setTransportType(transportType);
return fatory.createQueueConnection(DiConstants.IBM_USERNAME, DiConstants.IBM_PASSWORD);
}
public Session getSession(Connection connect) throws Exception {
if (connect == null) {
throw new Exception("connect is null");
}
return connect.createSession(false, Session.AUTO_ACKNOWLEDGE);
}
}
调用实例:
// 获取IBM参数信息
String strIbmMqHost = conn.getIbmMqHost();//178.22.77.34
String strIbmMqManager = conn.getIbmMqManager();//TST_QM_GOSS
String strIbmMqCcsid = conn.getIbmMqCcsid();//1381
String strIbmMqChannel = conn.getIbmMqChannel();//TST_CH_GOSS
Short strIbmMqPort = conn.getIbmMqPort();//1438
String strIbmMqQueue = conn.getIbmMqQueue();//MQ_CQ_QUEUE
String strIbmMqTransporttype = conn.getIbmMqTransporttype();//1
IBMUtils ibmUtils = new IBMUtils();
//获取连接
Connection connection = ibmUtils.getConnect(strIbmMqHost, strIbmMqPort, Integer.parseInt(strIbmMqCcsid),
strIbmMqChannel, strIbmMqManager, Integer.parseInt(strIbmMqTransporttype));
//获取session
Session session = ibmUtils.getSession(connection);
Destination destination = session.createQueue(strIbmMqQueue);
MessageProducer messageProducer = session.createProducer(destination);
javax.jms.Message textMessage = session.createTextMessage(strBodyContent);
messageProducer.send(textMessage);
session.close();
connection.close();