• 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: " + message);

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

    }

  • 相关阅读:
    ES2017 新特性:Async Functions (异步函数)
    为什么 window.location.search 为空?
    vue-cli 构建Vue项目后的打包和发布
    Vue.js父子组件如何传值 通俗易懂
    vue 面试题(文章末尾还有其他链接)
    vue组件命名和传值 and 父子组件传值
    line-gradient 之渐变角度
    vue-router路由模式
    vue-router 去掉#
    记录vue项目上线遇到的一些问题
  • 原文地址:https://www.cnblogs.com/yanduanduan/p/7156483.html
Copyright © 2020-2023  润新知