RabbitMQ获取队列的消息数目
使用RabbitMQ,业务需求,想要知道队列中还有多少待消费待数据。
方式一:
@Value("${spring.rabbitmq.host}")
private String host;@Value("${spring.rabbitmq.port}")
private Integer port;@Value("${spring.rabbitmq.username}")
private String username;@Value("${spring.rabbitmq.password}")
private String password;ConnectionFactory factory = new ConnectionFactory();
//设置ip,port,用户名和秘密
factory.setHost(host);
factory.setPort(port);
factory.setUsername(username);
factory.setPassword(password);//创建链接
Connection connection = factory.newConnection();//创建信道
Channel channel = connection.createChannel();//创建一个type=direct 持久化的 非自动删除的交换器
channel.exchangeDeclare(EXCHANGE_NAME, "direct", true, false, null);
String []queues = queueNames.split(",");
for(String queue : queues){DeclareOk declareOk = channel.queueDeclarePassive(queue);//获取队列中的消息个数int num = declareOk.getMessageCount();}
方式二:
spring配置文件:
<!-- 连接配置 -->
<rabbit:connection-factory id="rabbitConnectionFactory" host="#{app['mq.broker.host']}" port="#{app['mq.broker.port']}" username="#{app['mq.broker.username']}" password="#{app['mq.broker.password']}" virtual-host="/" publisher-confirms="true"/>
<!-- mq模板 -->
<rabbit:template id="rabbitTemplate" connectionfactory="rabbitConnectionFactory" message-converter="jsonMessageConverter"/>
java代码:
@Autowired
private RabbitTemplate rabbitTemplate;ConnectionFactory connectionFactory = rabbitTemplate.getConnectionFactory();
// 创建连接
Connection connection = connectionFactory.createConnection();
// 创建通道
Channel channel = connection.createChannel(false);
// 设置消息交换机
channel.exchangeDeclare("amp.topic", "direct", true, false, null);
DeclareOk declareOk = channel.queueDeclarePassive(LETTER_CLASS_QUEUE);
//获取队列中的消息个数
int queueCount = declareOk.getMessageCount();
result.put("queueCount", String.valueOf(queueCount));
// 关闭通道和连接
channel.close();
connection.close();
RabbitMQ获取队列的消息数目相关推荐
- rabbitmq导出队列_消息队列BCMQ在大云运维管理平台BCDeepWatch中的应用
友情提示:全文约2600字,预计阅读时间12分钟 摘要 消息队列作为重要的中间件,广泛用于分布式系统中各子系统间的异步解耦:本文主要介绍了大云消息队列中间件BC-MQ在BC-DeepWatch中的应用 ...
- RabbitMQ 延迟队列和消息可靠传递
rabbitmq使用 docker 安装 rabbitmq docker 安装 rabbitmq 延时消息插件 RabbitMQ 延时队列的实现 什么是延时队列 延时队列使用场景 RabbitMQ 中 ...
- RabbitMQ 延迟队列,消息延迟推送
应用场景 目前常见的应用软件都有消息的延迟推送的影子,应用也极为广泛,例如: 淘宝七天自动确认收货.在我们签收商品后,物流系统会在七天后延时发送一个消息给支付系统,通知支付系统将款打给商家,这个过程持 ...
- RabbitMQ(九):RabbitMQ 延迟队列,消息延迟推送(Spring boot 版)
应用场景 目前常见的应用软件都有消息的延迟推送的影子,应用也极为广泛,例如: 淘宝七天自动确认收货.在我们签收商品后,物流系统会在七天后延时发送一个消息给支付系统,通知支付系统将款打给商家,这个过程持 ...
- php接收mq,php的mq客户端获取队列方法改造
获取mq中消息然后处理失败重试机制: 下面的代码是php连接mq客户端的获取queue队列中的消息代码: public function createDurableSubscriber($queue, ...
- rabbitmq 消费端代码获取队列名称_C#调用RabbitMQ实现消息队列的示例代码
前言 我在刚接触使用中间件的时候,发现,中间件的使用并不是最难的,反而是中间件的下载,安装,配置才是最难的. 所以,这篇文章我们从头开始学习RabbitMq,真正的从头开始. 关于消息队列 其实消息队 ...
- RabbitMQ 中 7 种消息队列
点击关注公众号,Java干货及时送达 七种模式介绍与应用场景 简单模式(Hello World) 做最简单的事情,一个生产者对应一个消费者,RabbitMQ相当于一个消息代理,负责将A的消息转发给B ...
- RabbitMQ中7种消息队列和保姆级代码演示!
blog.csdn.net/qq_32828253/article/details/110450249 七种模式介绍与应用场景 简单模式(Hello World) 做最简单的事情,一个生产者对应一个消 ...
- 【重难点】【RabbitMQ 01】消息队列的作用、主流的消息队列、RabbitMQ 基于什么传输消息、RabbitMQ 模型架构、死信队列和延迟队列
[重难点][RabbitMQ 01]消息队列的作用.主流的消息队列.RabbitMQ 基于什么传输消息.RabbitMQ 模型架构.死信队列和延迟队列 文章目录 [重难点][RabbitMQ 01]消 ...
最新文章
- IntelliJ IDEA快捷键汇总_java
- Angular 路由
- 刘光毅:频谱统一推进5G尽早商用 4G网络向5G平滑演进
- 有三AI模拟面试服务上线,一对一服务助你求职
- MeeGo 1.2发布
- C语言学习之输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
- HTTP Status 500 - {msg=SolrCore 'collection1' is not available due to init failure: Could not load c
- 暗黑系游戏_暗黑系冒险游戏,剧情引人入胜!
- php strtofloat,Delphi6函数大全(3)
- JAVA获取安卓系统下usb_Android 获取 usb 权限的两种方法
- 3. jQuery 选择器
- Eclipse主题切换
- 基于linux环境tcp网络编程(在线英英词典)文档【3】
- MySQL春节收支表怎么建立_怎样才能建一个收支表格?
- SYN6288语音合成模块
- matlab 数组写入文件名,Matlab将数组写入.txt文件
- vscode安装插件以及配置anaconda
- 大连计算机office办公,大连办公office软件学习内容
- MemBrain: Improving the Accuracy of PredictingTransmembrane Helices
- CAD中黑色实心柱子墙体画法步骤及方法
热门文章
- 实施和开发哪个前景好_「深圳app开发」app模板开发和app定制开发哪个好呢?
- Leetcode每日一题:168.excel-sheet-column-title(Excel表名称)
- 操作系统——Linux 虚拟内存和物理内存的理解
- vscode 常用配置
- keil编译运行错误,缺少error:#5:#includecore_cm3.h_过路老熊_新浪博客
- 读《豆瓣的基础架构》有感
- 当代计算机技术在建筑设备中的应用,计算机技术在建筑设计中应用浅谈.doc
- java元类_元类 - 一心不乱 - 博客园
- bioconductor 安装包_R语言 | 你知道自己的Bioconductor版本么?
- Windows下Weblogic 12c单机安装与部署