【发布时间】:2012-03-01 08:30:04
【问题描述】:
我正在尝试编写一个脚本来通过 shell 查询 ActiveMQ(使用 activemq-admin query 命令)以确定“迄今为止”队列的最大大小(即,自服务器启动以来)。
当我输入以下查询时:
activemq-admin 查询 -QQueue=MyQueueName
我得到以下输出:
Java Runtime: Sun Microsystems Inc. 1.6.0_25 /usr/java/jdk1.6.0_25/jre
Heap sizes: current=91456k free=90978k max=1358080k
JVM args: -Dactivemq.classpath=/usr/local/activemq/conf; -Dactivemq.home=/usr /local/activemq -Dactivemq.base=/usr/local/activemq
ACTIVEMQ_HOME: /usr/local/activemq
ACTIVEMQ_BASE: /usr/local/activemq
Connecting to pid: 3005
DequeueCount = 5930
Name = MyQueueName
MinEnqueueTime = 0
CursorMemoryUsage = 733711
MaxAuditDepth = 2048
Destination = loadable
AverageEnqueueTime = 0.45332837486054295
InFlightCount = 0
MemoryLimit = 1048576
Type = Queue
EnqueueCount = 8067
MaxEnqueueTime = 79
MemoryUsagePortion = 0.0
ProducerCount = 0
UseCache = true
BlockedProducerWarningInterval = 30000
MaxProducersToAudit = 32
CursorFull = false
BrokerName = localhost
PrioritizedMessages = false
ConsumerCount = 0
ProducerFlowControl = true
Subscriptions = []
QueueSize = 2137
MaxPageSize = 200
CursorPercentUsage = 69
DispatchCount = 620
MemoryPercentUsage = 69
ExpiredCount = 0
当我转到 Web 控制台时,我看到 MyQueueName 中排队的 2137 消息,对应于此输出中的 QueueSize 字段。
但有一次(在执行 Java 应用程序期间)我在这个队列中看到超过 3000 条消息。
ActiveMQ 是否提供获取“全局最大队列大小”的指标?即任意时间点入队消息的最大数量?
提前致谢!
【问题讨论】: