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

    与Queue不同,Topic实现的是发布/订阅模型,在下面的例子中,启动两个消费者共同监听一个Topic,然后循环给这个Topic发送多个消息。
    例子:
    public class TopicTest {
    public static void main(String[] args) {
    ActiveMQConnectionFactory connectionfactory=new ActiveMQConnectionFactory("vm://localhost");
    Connection con=null;
    Session session=null;
    try {
    con=connectionfactory.createConnection();
    con.start();
    session=con.createSession(false, Session.AUTO_ACKNOWLEDGE);
    } catch (JMSException e) {
    e.printStackTrace();
    }
    Topic topic=new ActiveMQTopic("TopicTest");
    //注册消费者1
    try {
    MessageConsumer consumer1=session.createConsumer(topic);
    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(topic);
    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 producer=session.createProducer(topic);
    for(int i=1;i<=10;i++)
    {
    producer.send(session.createTextMessage("message"+i));
    }
    } catch (JMSException e) {
    e.printStackTrace();
    } }
    }
    此实例说明:每一个消息都会被所有消费者消费。

  • 相关阅读:
    [JSOI2007][BZOJ1030] 文本生成器|AC自动机|动态规划
    [NOI2014][BZOJ3670] 动物园|KMP
    [HAOI2010][BZOJ2427] 软件安装|tarjan|树型dp
    [JSOI2008][BZOJ1017] 魔兽地图DotR|树型dp
    [JLOI2014][BZOJ3631] 松鼠的新家|树上倍增LCA|差分
    [SDOI2010][BZOJ1975] 魔法猪学院|A*|K短路
    [BZOJ1251] 序列终结者|Splay
    hdu 2141 Can you find it?
    hdu 3152 Obstacle Course
    hdu 2680 Choose the best route
  • 原文地址:https://www.cnblogs.com/fjhh/p/5370572.html
Copyright © 2011-2022 走看看