zoukankan      html  css  js  c++  java
  • ActiveMQ Advisory Message

    http://activemq.apache.org/advisory-message.html

    ActiveMQ broker 内部维持了一些 topic,保存了一些系统信息,客户端可以订阅这些 topic 来获取信息,即 advisory message。

    列举3个 topic 的例子:

    1. topic名:ActiveMQ.Advisory.Connection

    消息类型:客户端连接建立和断开的消息

    获取方式:

    AdvisorySupport.getConnectionAdvisoryTopic()

    2. topic名:ActiveMQ.Advisory.Producer.Queue.XXX

    消息类型:XXX队列当前有几个producer,以及producer删除的消息

    获取方式:

    AdvisorySupport.getProducerAdvisoryTopic(Destination destination)

    3. topic名:ActiveMQ.Advisory.Queue,ActiveMQ.Advisory.Topic, ActiveMQ.Advisory.TempQueue, ActiveMQ.Advisory.TempTopic

    消息类型:destination创建和销毁的消息

    获取方式:

    AdvisorySupport.getDestinationAdvisoryTopic(Destination destination)

    示例代码:

    public static void main(String[] args) throws JMSException {
        ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
        // Create a Connection
        Connection connection = connectionFactory.createConnection();
        connection.start();
    
        ActiveMQSession session = (ActiveMQSession) connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
        // Create the destination (Topic or Queue)
        Queue queue = session.createQueue("TEST.FOO");
        // topic://ActiveMQ.Advisory.Producer.Queue.TEST.FOO
        ActiveMQTopic topic = AdvisorySupport.getProducerAdvisoryTopic(queue);
        
        MessageConsumer consumer = session.createConsumer(topic);
        consumer.setMessageListener(new MessageListener() {
            public void onMessage(Message msg) {
                if(msg instanceof ActiveMQMessage) {
                    System.out.println(msg);
                }
            }
        });
                 
    }
  • 相关阅读:
    MySQL初始化以及更改密码
    对付小白的ARP的简单介绍
    PXE批量安装CentOS7操作系统
    20不惑
    辩论会
    学习
    JAVA语言的特点
    程序流程图对新手来说很重要。
    浅谈博客、微博与轻博客的区别与联系
    要学好JAVA要注意些什么?
  • 原文地址:https://www.cnblogs.com/allenwas3/p/8659085.html
Copyright © 2011-2022 走看看