没有 Spring 的 RabbitMQ 队列大小? (java api)
RabbitMQ queue size without Spring? (java api)
我将 Java 客户端与 RabbitMQ 一起使用。我已经看到有关使用 Spring 插件查找队列大小的参考资料,但我没有使用 Spring。是否有一种非 Spring 的方法来获取给定名称的队列的大小?现在我只是在执行 shell 命令 'rabbitmqctl list_queues' 并解析结果——不太好。
您可以启用 http management plugin、
rabbitmq-plugins enable rabbitmq_management
然后使用 http API.
如果你像这样执行 http 调用:
http://your_server/api/queues/your_virtual_host/yourqueue
你有关于队列的所有信息,输出是 json 像:
... "backing_queue_status": {
"q1": 0,
"q2": 0,
"delta": [
"delta",
0,
0,
0
],
"q3": 0,
"q4": 0,
"len": 0,
"target_ram_count": 0,
"next_seq_id": 0,
"avg_ingress_rate": 0,
"avg_egress_rate": 0,
"avg_ack_ingress_rate": 0,
"avg_ack_egress_rate": 0,
"mirror_seen": 0,
"mirror_senders": 0
},
"incoming": [],
"deliveries": [],
"consumer_details": [],
"name": "myqueue",
"vhost": "vhost",
"durable": true,
"auto_delete": false,
"arguments": {},
"node": "rabbit@lemur01"
}
我将 Java 客户端与 RabbitMQ 一起使用。我已经看到有关使用 Spring 插件查找队列大小的参考资料,但我没有使用 Spring。是否有一种非 Spring 的方法来获取给定名称的队列的大小?现在我只是在执行 shell 命令 'rabbitmqctl list_queues' 并解析结果——不太好。
您可以启用 http management plugin、
rabbitmq-plugins enable rabbitmq_management
然后使用 http API.
如果你像这样执行 http 调用:
http://your_server/api/queues/your_virtual_host/yourqueue
你有关于队列的所有信息,输出是 json 像:
... "backing_queue_status": {
"q1": 0,
"q2": 0,
"delta": [
"delta",
0,
0,
0
],
"q3": 0,
"q4": 0,
"len": 0,
"target_ram_count": 0,
"next_seq_id": 0,
"avg_ingress_rate": 0,
"avg_egress_rate": 0,
"avg_ack_ingress_rate": 0,
"avg_ack_egress_rate": 0,
"mirror_seen": 0,
"mirror_senders": 0
},
"incoming": [],
"deliveries": [],
"consumer_details": [],
"name": "myqueue",
"vhost": "vhost",
"durable": true,
"auto_delete": false,
"arguments": {},
"node": "rabbit@lemur01"
}