点对点模式-消息消费者

创建类QueueConsumer ,main方法代码如下:

    //1.创建连接工厂

    ConnectionFactory connectionFactory=newActiveMQConnectionFactory("tcp://192.168.25.135:61616");

    //2.获取连接

    Connection connection = connectionFactory.createConnection();

    //3.启动连接

    connection.start();

    //4.获取session  (参数1:是否启动事务,参数2:消息确认模式)

    Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

    //5.创建队列对象

    Queue queue = session.createQueue("test-queue");

    //6.创建消息消费

    MessageConsumer consumer = session.createConsumer(queue);

   

    //7.监听消息

    consumer.setMessageListener(new MessageListener() {

         public void onMessage(Message message) {

             TextMessage textMessage=(TextMessage)message;

             try {

                 System.out.println("接收到消息:"+textMessage.getText());

             } catch (JMSException e) {

                 // TODO Auto-generated catch block

                 e.printStackTrace();

             }

         }

    });

    //8.等待键盘输入

    System.in.read();   

    //9.关闭资源

    consumer.close();

    session.close();

    connection.close(); 

执行后看到控制台输出

 

运行测试

同时开启2个以上的消费者,再次运行生产者,观察每个消费者控制台的输出,会发现只有一个消费者会接收到消息。

猜你喜欢

转载自www.cnblogs.com/coder-wf/p/12518308.html
今日推荐