java - 如何获取 ActiveMQ 的入队计数?
问题描述
有人可以帮我如何Enqueue Count
在 Active MQ 中获取特定队列吗?
这是我的代码:
BrokerService broker = new BrokerService()
String queueName= "queue.Test"
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory('ACTIVEMQ URL')
Connection connection = connectionFactory.createConnection()
connection.start()
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE)
ActiveMQDestination requestDestination = session.createTopic(queueName)
QueueViewMBean view = (QueueViewMBean)broker.getDestination(requestDestination)
println("Count = "+view.getEnqueueCount())
但这似乎不起作用。我该如何解决?
解决方案
您似乎正在尝试将 ActiveMQ JMS 客户端资源转换为 JMX MBean,这当然不会起作用。您需要使用JMX来访问代理的管理功能。
可以在代理的单元测试中找到一些使用 MBean 的示例
推荐阅读
- pybind11 - 具有 dynamic_attr() 的类不能将 __dict__ 传递给外部作用域
- python - 如何将信息从一行复制到它下面的多行?
- sql - 谁能清楚地解释这个sql查询
- node.js - 无论如何要读取文件中的值并与数据库中的存在值同步?
- python-3.x - pandas和time.strftime之间的时间戳翻译有什么区别
- ios - 如何在 WKWebview 上添加 UIButton?
- sql - JSON_VALUE 的 Postgres 语句
- react-native - React native - 带有远程调试的控制台日志记录
- javascript - posgresql:选择现有表中的特定列并根据绝对值以降序对其进行排序?
- javascript - 使用 bootstrap 4 时的固定位置菜单