可以使用artemis-jms-client API中的MQ JMS原语(classes)来与IBM MQ进行通信。以下是一个使用MQ JMS API连接到IBM MQ并发送消息的示例代码:
import com.ibm.mq.jms.MQConnectionFactory;
import javax.jms.Connection;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
public class MQSender {
public static void main(String[] args) throws JMSException {
String host = "localhost";
int port = 1414;
String channel = "DEV.APP.SVRCONN";
String qManager = "QM1";
String qName = "QUEUE.TEST";
MQConnectionFactory mqcf = new MQConnectionFactory();
mqcf.setHostName(host);
mqcf.setPort(port);
mqcf.setChannel(channel);
mqcf.setQueueManager(qManager);
Connection connection = mqcf.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageProducer producer = session.createProducer(session.createQueue(qName));
TextMessage message = session.createTextMessage("Hello World!");
producer.send(message);
producer.close();
session.close();
connection.close();
}
}
上述代码将使用MQConnectionFactory创建连接到IBM MQ的连接,并使用该连接创建会话和消息生产者。随后,它将创建文本消息并使用生产者将其发送到名为'QUEUE.TEST”的队列。最后,它将关闭生产者、会话和连接。