IBM MQ 与spring的整合

mac2022-06-30  19

文件名:applicationContext-biz-mq.xml

 新浪博客把里面的代码全部转换成HTML了,所以无法粘贴

 可以查看里面的:http://blog.csdn.net/xiazou/article/details/19559247

 

mqconnect.properties配置文件:

 #通道名app.mq.channel=SYSTEM.DEF.SVRCONN#传输类型app.mq.transportType=1#端口号app.mq.port=1414#队列管理器名称-发送方queue.manager.send=WMQ1QM#主机地址-发送方queue.manager.host.send=10.70.175.81#队列名称-发送方queue.name.send=WMQ1OutputQ

#队列管理器名称--接收方queue.manager.get=WMQ2QM#主机地址--接收方queue.manager.host.get=10.70.175.82#队列名称--接收方queue.name.get=WMQ2InputQ

 

MessageTest.java测试文件,用来启动接收监听的配置文件:

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MessageTest {

  public static void main(String[] args) {  new ClassPathXmlApplicationContext("classpath*:/applicationContext-biz-mq.xml");

 }

}

 

MessageListener.java监听文件:

 import com.zmcc.servicemanager.biz.CallRecordBiz;import com.zmcc.servicemanager.domain.CallRecord;

public class MessageListener{

 private CallRecordBiz callRecordBiz;   public void receviedMessage(CallRecord callRecord) {  System.out.println(callRecord.getRequestContent()); }

 public CallRecordBiz getCallRecordBiz() {  return callRecordBiz; }

 public void setCallRecordBiz(CallRecordBiz callRecordBiz) {  this.callRecordBiz = callRecordBiz; } }

 

MessageConverter.java用来转换的类:

 import java.util.Date;

import javax.jms.JMSException;import javax.jms.Message;import javax.jms.Session;import javax.jms.TextMessage;

import org.springframework.jms.support.converter.MessageConversionException;

import com.zmcc.servicemanager.domain.CallRecord;

public class MessageConverter implements org.springframework.jms.support.converter.MessageConverter {

  public Message toMessage(Object object, Session session) throws JMSException, MessageConversionException {  return null; }

  public Object fromMessage(Message message) throws JMSException,MessageConversionException {  // TODO  TextMessage mapMessage = (TextMessage) message;  CallRecord callRecord = new CallRecord();  callRecord.setEndTime(new Date());  callRecord.setRequestContent(mapMessage.getText());    return callRecord; }

}

 

CallRecord.java实体类

 public class CallRecord implements Serializable{     private static final long serialVersionUID = 1L;

 private String requestContent;

 private Date endTime;

……

}

 

 JmsProducer.java发送消息:

 import javax.jms.Connection;import javax.jms.Destination;import javax.jms.JMSException;import javax.jms.MessageProducer;import javax.jms.Session;import javax.jms.TextMessage;

import com.ibm.mq.jms.JMSC;import com.ibm.mq.jms.MQQueueConnectionFactory;

public class JmsProducer {

  public static void main(String[] args) {

  // Variables  Connection connection = null;  Session session = null;  Destination destination = null;  MessageProducer producer = null;

  try {   // Create a connection factory   // objects   MQQueueConnectionFactory factory = new MQQueueConnectionFactory();   factory.setQueueManager("WMQ1QM");   factory.setHostName("10.70.175.81");   factory.setTransportType(JMSC.MQJMS_TP_CLIENT_MQ_TCPIP);   factory.setPort(1414);   factory.setChannel("SYSTEM.DEF.SVRCONN");

   // Create JMS objects   connection = factory.createConnection();   session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);   destination = session.createQueue("WMQ1OutputQ");   producer = session.createProducer(destination);

   long uniqueNumber = System.currentTimeMillis() % 1000;   TextMessage message = session     .createTextMessage("JmsProducer: Your lucky number today is " + uniqueNumber);

   // Start the connection   connection.start();

   // And, send the message   producer.send(message);   System.out.println("Sent message:\n" + message);

  } catch (JMSException jmsex) {   jmsex.fillInStackTrace();  } finally {   try {    producer.close();    session.close();    connection.close();   } catch (JMSException e) {    e.printStackTrace();   }  } }

}

转载于:https://www.cnblogs.com/yanduanduan/p/7156483.html

相关资源:在spring boot中使用jms集成IBM-MQ和TLQ,包含普通队列和主题订阅两种模式,并实现按需加载
最新回复(0)