MQ发送消息到队列
MsgSend.java - package com.mq.dpca.msg;
- import javax.jms.JMSException;
- import javax.jms.Queue;
- import javax.jms.QueueConnection;
- import javax.jms.QueueSender;
- import javax.jms.QueueSession;
- import javax.jms.Session;
- import javax.jms.TextMessage;
- import com.ibm.mq.jms.MQQueueConnectionFactory;
- import com.ibm.msg.client.wmq.WMQConstants;
- /**
- * MQ字符串发送功能
- *
- */
- public class MsgSend {
- MQQueueConnectionFactory mcf;
- QueueConnection qconn;
- MQConfig mc = null;
- /**
- * 初始化连接
- *
- * @throws JMSException
- */
- public void openConnection() throws JMSException {
- mc = MQConfig.getInstance();
- mcf = new MQQueueConnectionFactory();
- mcf.setConnectionNameList(mc.getMQ_HOST_NAME());
- // mcf.setHostName(mc.getMQ_HOST_NAME());
- mcf.setChannel(mc.getMQ_CHANNEL());
- mcf.setTransportType(WMQConstants.WMQ_CM_CLIENT);
- mcf.setClientReconnectOptions(WMQConstants.WMQ_CLIENT_RECONNECT);
- // mcf.setPort(Integer.parseInt(mc.getMQ_PROT()));
- mcf.setCCSID(Integer.parseInt(mc.getMQ_CCSID()));
- mcf.setQueueManager(mc.getMQ_MANAGER());
- qconn = mcf.createQueueConnection();
- }
- /**
- * 发送消息
- *
- * @param key
- * @param msgInfo
- * @throws JMSException
- * @throws InterruptedException
- */
- public void send(String key, String msgInfo) {
- QueueSession session = null;
- QueueSender sender = null;
- try {
- openConnection();
- session = qconn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
- Queue queue = session.createQueue(mc.getMQ_QUEUE_NAME());
- sender = session.createSender(queue);
- TextMessage msg = session.createTextMessage();
- msg.setText(msgInfo);
- // msg.setStringProperty("Key", key);
- sender.send(msg);
- } catch (JMSException e) {
- e.printStackTrace();
- } finally {
- try {
- sender.close();
- session.close();
- qconn.close();
- } catch (JMSException e) {
- e.printStackTrace();
- }
- }
- }
- /**
- * 程序的入口
- * @param args
- * @throws JMSException
- * @throws InterruptedException
- */
- public static void main(String[] args) throws JMSException,
- InterruptedException {
- MsgSend ms = new MsgSend();
- String str = "<root><esbHeader><requestId>d5d001f47d46e1471ae42ebf1dded7a2</requestId><serviceName>syncCustmoerInfo</serviceName>"
- + "<key>3DOxe6EfkvcAAAFH95SjNwAAAAAAAAAD</key></esbHeader><serviceNameReq><security><key>f7b17a6ffcd5561748c5bb98075aa432</key><date>2013-04-10 15:25:00</date></security>"
- + "<customer><khmc>测试客户ES2B</khmc><fzxsid>120483321</fzxsid><khczqh>010</khczqh><khczfj>1234</khczfj><khcz>567892012</khcz>"
- + "</customer>"
- + "<customer><khmc>测试客户ES2B</khmc><fzxsid>120483321</fzxsid><khczqh>010</khczqh><khczfj>1234</khczfj><khcz>567892012</khcz>"
- + "</customer>"
- + "<customer><khmc>测试客户ES2B</khmc><fzxsid>120483321</fzxsid><khczqh>010</khczqh><khczfj>1234</khczfj><khcz>567892012</khcz>"
- + "</customer>" + "</serviceNameReq>" + "</root>";
- ms.send("", str);
- // Thread.sleep(10000);
- System.out.print("消息发送完毕!");
- }
- }
复制代码
MQConfig.java ~ 6KB |