zoukankan      html  css  js  c++  java
  • ActiveMQ之Queue

    Queue实现的是点到点模型,在以下的例子中,启动2个消费者共同监听一个Queue,然后循环给这个Queue发送多个消息。
    代码如下:
    public class QueueTest {

    /**
    * @param args
    */
    public static void main(String[] args) {
    ActiveMQConnectionFactory factory=new ActiveMQConnectionFactory("vm://localhost");
    Connection con=null;
    Session session=null;
    Queue queue=null;
    try {
    con=factory.createConnection();
    //这句很重要
    con.start();
    } catch (JMSException e) {
    e.printStackTrace();
    }
    try {
    session=con.createSession(false, Session.AUTO_ACKNOWLEDGE);
    } catch (JMSException e) {
    System.out.println("--创建Session出现错误--");
    }
    queue=new ActiveMQQueue("testQueue");
    //注册消费者1
    try {
    MessageConsumer consumer1=session.createConsumer(queue);
    consumer1.setMessageListener(new MessageListener(){
    public void onMessage(Message arg0) {
    try {
    System.out.println("消费者1接收到的消息 ---------"+((TextMessage)arg0).getText());
    } catch (JMSException e) {
    e.printStackTrace();
    }
    }
    });
    } catch (JMSException e) {
    e.printStackTrace();}

    //注册消费者2
    try {
    MessageConsumer consumer2=session.createConsumer(queue);
    consumer2.setMessageListener(new MessageListener(){
    public void onMessage(Message arg0) {
    try {
    System.out.println("消费者2接收到的消息---------"+((TextMessage)arg0).getText());
    } catch (JMSException e) {
    e.printStackTrace();
    }
    }
    });
    } catch (JMSException e) {
    e.printStackTrace();
    }

    //注册一个消息生产者
    try {
    MessageProducer procedure=session.createProducer(queue);
    for(int i=1;i<=10;i++)
    {
    procedure.send(session.createTextMessage("message"+i));
    }
    } catch (JMSException e) {
    e.printStackTrace();
    }
    }
    }
    运行这个例子 可以看出:每个消息被消费了一次,但是如果有多个消费者共同监听一个Queue的话,无法确定一个消息最终会被那个消费者消费。

  • 相关阅读:
    ECMAScript5之Object学习笔记(二)
    ECMAScript5之Object学习笔记(一)
    【笔记】css 自定义select 元素的箭头样式
    【笔记】h5 页面唤起电话呼叫
    【笔记】vue-cli 打包后路径问题出错的解决方法
    【笔记】BFC 模型知识整理
    【笔记】浏览器的缓存
    【笔记】web 的回流与重绘及优化
    【js 笔记】读阮一峰老师 es6 入门笔记 —— 第二章
    【js 笔记】读阮一峰老师 es6 入门笔记 —— 第一章
  • 原文地址:https://www.cnblogs.com/fjhh/p/5370571.html
Copyright © 2011-2022 走看看