IBM MQ 与spring的整合

文件名:applicationContext-biz-mq.xml

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

 可以查看CSDN里面的: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();
   }
  }
 }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值