当前位置: 首页 > 面试题库 >

有任何简单的方法来获取ActiveMQ的队列长度吗?

武向文
2023-03-14
问题内容

如何使用Java获取ActiveMQ中的队列长度(发送到队列的未消耗的消息数)?


问题答案:

您必须使用JMX,因为Queue接口不提供此类信息。

检索特定队列大小的示例:

// connection
String url = "service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi";
JMXConnector connector = JMXConnectorFactory.connect(new JMXServiceURL(url));
MBeanServerConnection connection = connector.getMBeanServerConnection();
// get queue size
ObjectName nameConsumers = new ObjectName("org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=myqueue");
DestinationViewMBean mbView = MBeanServerInvocationHandler.newProxyInstance(connection, nameConsumers, DestinationViewMBean.class, true);
long queueSize = mbView.getQueueSize();

参考:ActiveMQ
JMX
,必需的MBean

示例:使用JMX API管理ActiveMQ



 类似资料:
  • 本文向大家介绍php简单获取目录列表的方法,包括了php简单获取目录列表的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php简单获取目录列表的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的php程序设计有所帮助。

  • 本文向大家介绍Lua中获取table长度的方法,包括了Lua中获取table长度的方法的使用技巧和注意事项,需要的朋友参考一下 官方文档是这么描述#的: 取长度操作符写作一元操作 #。 字符串的长度是它的字节数(就是以一个字符一个字节计算的字符串长度)。 table t 的长度被定义成一个整数下标 n 。 它满足 t[n] 不是 nil 而 t[n+1] 为 nil; 此外,如果 t[1] 为 n

  • 我想构建一个简单的消费者程序(java ),以获取ActiveMQ主题中存储的所有消息。我有一个在队列中发送文本消息的生成器。 但我不知道如何开始写我的消费者来检索旧消息并等待新消息。 如果你有一个例子,谢谢! 这是我的制片人:http://pastebin.com/uRy9D8mY 这是我的消费者:http://pastebin.com/bZh4r66e 当我先于消费者运行生产者,然后运行消费者

  • 本文向大家介绍PowerShell获取字符串长度的方法,包括了PowerShell获取字符串长度的方法的使用技巧和注意事项,需要的朋友参考一下 使用PowerShell可以很方便的计算字符串的长度。PowerShell是继承于Microsoft .NET Framework的,所以在.NET里面怎么获取到字符串的长度,在PowerShell中可以使用相同的方法。 我们知道在.NET中,可以使用St

  • 使用命令行使用ffmpeg提取视频流时: ffmpeg-i{一些文件}-vcodec复制-an-f{rawvideo|h264|任何}out. h264 仅使用Adobe media Encoder生成的某些媒体文件。m4v(编码为h.264蓝光)文件可以产生一些有用的结果。 其他一些格式(如. f4v)可以生成h.264流,但没有PPS/SPS,并且每个切片以大小而不是00 00 00 01序列

  • 本文向大家介绍PHP简单获取及判断提交来源的方法,包括了PHP简单获取及判断提交来源的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP简单获取及判断提交来源的方法。分享给大家供大家参考,具体如下: 这个获取上个页面的url 例如获得的是: 其他页面提交过来的不接受 代码如下: strpos方法返回指定字符串所在指定字符串第一次出现的位置,没有则返回false,下标从0开始 补充: