zoukankan      html  css  js  c++  java
  • JMS---MessageListener

    http://www.cnblogs.com/gaohuiqian/p/5213377.html 在这篇文章的最后我们看到了MessageConsumer 接收消息的方式是通过调用receive()方法或者

    receive((int timeout)方法进行调用,还存在一种注册一MessageListener的方法。

    所以消息的消费者接收消息可以采用两种方式:

      1、consumer.receive() 或 consumer.receive(int timeout);
      2、注册一个MessageListener。

    采用第一种方式,消息的接收者会一直等待下去,直到有消息到达,或者超时。后一种方式会注册一个监听器,当有消息到达的时候,会回调它的onMessage()方法。

    列:

    class MessageListener{
      public void dealMessage() throws JMSException{
        //1.首先拿到连接工厂
        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(Publisher.brokerURL);

        //2.通过工厂创建连接
        Connection connection = connectionFactory.createConnection();
        connection.start();//打开链接

        //3.通过连接创建会话
        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

        //4.创建目标(即队列)
        Destination destination = session.createQueue("testQuery");

        //5.通过会话创建消费者
        MessageConsumer consumer = session.createConsumer(destination);

        //6.从队列中拿到消息
        consumer.setMessageListener(new MessageListener() {
          @Override
          public void onMessage(Message message) {
            try {
              int content = message.getIntProperty("content");
              System.out.println(content);
            } catch (JMSException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
            }
          }
        });
        connection.stop();
      }
    }

  • 相关阅读:
    python学习(3)
    Python学习(2)
    powerDesigner的初步使用
    单阶经典检测器: YOLO V1 (一)
    单阶多层检测器: SSD(三)改进算法
    单阶多层检测器: SSD(二)算法综述
    单阶多层检测器: SSD(一)
    两阶经典检测器:Faster RCNN(三)改进算法
    【转载】http协议介绍
    【转载】dts介绍
  • 原文地址:https://www.cnblogs.com/gaohuiqian/p/5213734.html
Copyright © 2011-2022 走看看