首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

ActiveMQ学习笔记之十一-监控Broker(ActiveMQ的Advisory message)

2013-11-27 
ActiveMQ学习笔记之十一--监控Broker(ActiveMQ的Advisory message)通知消息(Advisory Message)简单的说就

ActiveMQ学习笔记之十一--监控Broker(ActiveMQ的Advisory message)

通知消息(Advisory Message


简单的说就是实现了ActiveMQ的broker上各种操作的记录跟踪和通知。

使用这个功能,你可以实时的知道broker上

这个机制是ActiveMQ对JMS协议的重要补充,也是基于JMS实现的ActiveMQ的可管理性的一部分。多个ActiveMQ的相互协调和互操作的基础设置。

分类

Advisory

说明

DataStruct类型

客户端连接
相关

ActiveMQ.Advisory.Connection

客户端连接、或终止时[Connection.start()、
或者stop()方法被调用]

ConnectionInfo
RemoveInfo

?

ActiveMQ.Advisory.Producer.Queue

当生产者被创建、或终止时
[session.createProducer()、或者
session.close()方法被调用]

ProducerInfo
RemoveInfo

?

ActiveMQ.Advisory.Producer.Topic

 

 

?

ActiveMQ.Advisory.Consumer.Queue

当消费者被创建、或终止时
[session.createConsumer()、或者
session.close()方法被调用]

 

?

ActiveMQ.Advisory.Consumer.Topic

 

 

队列相关

ActiveMQ.Advisory.Topic

任何Topic被创建或者销毁时

DestinationInfo

?

ActiveMQ.Advisory.Queue

 

 

消息相关
[
需要手工开启]

ActiveMQ.Advisory.MessageConsumed.Queue

当消息被成功消费时[消息应答成功]

ActiveMQMessage

?

ActiveMQ.Advisory.MessageConsumed.Topic

 

 

?

????public?static?void?testAdvisory4()?throws?Exception {

???????ConnectionFactory factory =?new?ActiveMQConnectionFactory("tcp://localhost:61616");

???????Connection connection = factory.createConnection();

???????connection.start();

?

???????final?Session session = connection.createSession(false/*支持事务*/, Session.AUTO_ACKNOWLEDGE);

???????Destination queue = AdvisorySupport.getMessageConsumedAdvisoryTopic(session.createQueue("test_123"));

???????MessageConsumer consumer = session.createConsumer(queue);

???????consumer.setMessageListener(new?MessageListener() {

?

???????????@Override

???????????public?void?onMessage(Message message) {

??????????????System.out.println(message);

??????????????ActiveMQMessage consumedMessage = (ActiveMQMessage) ((ActiveMQMessage) message).getDataStructure();

??????????????System.out.println("队列:["?+ consumedMessage.getDestination() +?"],消息:[id="

?????????????????????+ consumedMessage.getMessageId() +?"]被成功接收。");

???????????}

???????});

????}

热点排行