RabbitMQ通过http API获取队列消息数量等信息
RabbitMQ提供了HTTP API手册,发现其中有获取队列情况的API。(本地的API手册地址为:http://localhost:15672/api)
所有API调用都需要做权限验证,需在请求头部中加入权限验证信息
1.获取所有队列信息
http://host:15672/api/queues
2.获取单个队列信息
http://host:15672/api/queues/vhost/name
host为RabbitMQ部署地址,vhost为队列所在的虚拟主机名,name为队列名。
注意:若队列所在默认虚拟主机,即主机名为"/",请求时需将"/"url转码后("%2f")请求
static void Main(string[] args)
{
#region MyRegion
//通过RabbitMq的Api来获取相关队列的信息
var url = " http://192.168.0.37:15672/api/queues/%2f/Citms.Queue.LXEPP.VideoMq";
//创建HttpClient(注意传入HttpClientHandler)
var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip };
var username = "admin";
var password = "citms";
using (var http = new HttpClient(handler))
{
string auth = username + ":" + password;
byte[] b = System.Text.Encoding.Default.GetBytes(auth);
var a = Convert.ToBase64String(b);
http.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", a);
var response = http.GetAsync(url).Result;//传参使用
//确保HTTP成功状态值
response.EnsureSuccessStatusCode();
//await异步读取最后的JSON(注意此时gzip已经被自动解压缩了,因为上面的AutomaticDecompression = DecompressionMethods.GZip)
var result = response.Content.ReadAsStringAsync().Result;
var json = JsonConvert.DeserializeObject<dynamic>(result);
}
}
RabbitMQ通过http API获取队列消息数量等信息的更多相关文章
- 使用rabbitmq手动确认消息的,定时获取队列消息实现
描述问题 最近项目中因为有些数据,需要推送到第三方系统中,因为数据会一直增加,并且需要与第三方系统做相关交互. 相关业务 本着不影响线上运行效率的思想,我们将增加的消息放入rabbitmq,使用另一个 ...
- 利用KEGG的API获取基因对应的pathway 信息
KEGG 官网提供了API, 可以方便的访问KEGG 数据库中的内容,链接如下: http://www.kegg.jp/kegg/rest/keggapi.html 利用API可以得到某一个基因参与的 ...
- 在Autodesk Vault 2014中使用VDF(Vault Development Framework) API获取所有文件的属性信息
这几天在玩儿Vault API, 从Autodesk Vault 2014开始提供了Vault Development Framework(VDF) API,让开发工作更简单了.在Vault 20 ...
- 通过API获取 Portus+registry docker仓库信息
接口获取docker centos 镜像的 tag 列表脚本 # -*- encoding:utf-8 -*- import requests import json ""&quo ...
- 通过 Windows API 获取鼠标位置等状态信息
#include <graphics.h> #include <stdio.h> void main() { initgraph(, ); // 初始化绘图窗口 HWND hw ...
- RabbitMQ获取队列的消息数目
使用RabbitMQ,业务需求,想要知道队列中还有多少待消费待数据. 方式一: @Value("${spring.rabbitmq.host}") private String h ...
- rabbitmq学习(九) —— 关于消息队列的选型
转自http://cmsblogs.com/?p=3846 在IM这种讲究高并发.高消息吞吐的互联网场景下,MQ消息中间件是个很重要的基础设施,它在IM系统的服务端架构中担当消息中转.消息削峰.消息交 ...
- 【python】-- RabbitMQ 队列消息持久化、消息公平分发
RabbitMQ 队列消息持久化 假如消息队列test里面还有消息等待消费者(consumers)去接收,但是这个时候服务器端宕机了,这个时候消息是否还在? 1.队列消息非持久化 服务端(produc ...
- (六)RabbitMQ消息队列-消息任务分发与消息ACK确认机制(PHP版)
原文:(六)RabbitMQ消息队列-消息任务分发与消息ACK确认机制(PHP版) 在前面一章介绍了在PHP中如何使用RabbitMQ,至此入门的的部分就完成了,我们内心中一定还有很多疑问:如果多个消 ...
随机推荐
- PHP加JS实现分片上传,断点续传
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <title> ...
- phpstorm 断点调试
1.设置php的xdebug 在php.ini中设置 [XDebug] xdebug.profiler_output_dir="H:\phystudy\PHPTutorial\tmp\xde ...
- JS-find、filter、forEach、map
js这四个方法不会对空数组进行检测,也不会改变原始数组 find()方法主要用来返回数组中符合条件的第一个元素(没有的话,返回undefined) //语法 array.find(function(v ...
- set的使用-Hdu 2094
产生冠军 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- Python - 并发编程,多进程,多线程
传送门 https://blog.csdn.net/jackfrued/article/details/79717727 在此基础上实践和改编某些点 1. 并发编程 实现让程序同时执行多个任务也就是常 ...
- ENTRYPOINT与CMD/实现切换用户执行
1.CMD 最终会被解析成:["cmd","arg1","arg2"] 可以在运行时被覆盖 2.ENTRYPOINT 最终解析成 [&quo ...
- 吴裕雄 python 神经网络——TensorFlow pb文件保存方法
import tensorflow as tf from tensorflow.python.framework import graph_util v1 = tf.Variable(tf.const ...
- JAVA web课堂测试1
1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分)2登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母.数字组成.(1分)3性别:要求用单选框或下拉框实现 ...
- js中的关键字与保留字
关键字就是指:js中用到的单词,比如var : function: 保留字是指:js以后可能会发展成为关键字的,先保留起来不让你用.比如class,要是给一个对象添加class:obj.classNa ...
- vector的使用-Hdu 4841
圆桌问题 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submis ...