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的话,无法确定一个消息最终会被那个消费者消费。

  • 相关阅读:
    【转载】实用VC++6.0插件
    关于无标题栏窗口拖动的问题
    VC6配置CXimage库
    扎实基础深入篇(七):函数和类没那么复杂
    扎实基础深入篇(六):while循环带动生产力
    扎实基础深入篇(五):字典也就是个弟弟
    扎实基础深入篇(四):听说if语句很叼?
    lxml类库的xpath的使用
    json与re的再次复习
    python基础汇总(四)
  • 原文地址:https://www.cnblogs.com/fjhh/p/5370571.html
Copyright © 2011-2022 走看看