使用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获取队列的消息数目相关推荐

  1. rabbitmq导出队列_消息队列BCMQ在大云运维管理平台BCDeepWatch中的应用

    友情提示:全文约2600字,预计阅读时间12分钟 摘要 消息队列作为重要的中间件,广泛用于分布式系统中各子系统间的异步解耦:本文主要介绍了大云消息队列中间件BC-MQ在BC-DeepWatch中的应用 ...

  2. RabbitMQ 延迟队列和消息可靠传递

    rabbitmq使用 docker 安装 rabbitmq docker 安装 rabbitmq 延时消息插件 RabbitMQ 延时队列的实现 什么是延时队列 延时队列使用场景 RabbitMQ 中 ...

  3. RabbitMQ 延迟队列,消息延迟推送

    应用场景 目前常见的应用软件都有消息的延迟推送的影子,应用也极为广泛,例如: 淘宝七天自动确认收货.在我们签收商品后,物流系统会在七天后延时发送一个消息给支付系统,通知支付系统将款打给商家,这个过程持 ...

  4. RabbitMQ(九):RabbitMQ 延迟队列,消息延迟推送(Spring boot 版)

    应用场景 目前常见的应用软件都有消息的延迟推送的影子,应用也极为广泛,例如: 淘宝七天自动确认收货.在我们签收商品后,物流系统会在七天后延时发送一个消息给支付系统,通知支付系统将款打给商家,这个过程持 ...

  5. php接收mq,php的mq客户端获取队列方法改造

    获取mq中消息然后处理失败重试机制: 下面的代码是php连接mq客户端的获取queue队列中的消息代码: public function createDurableSubscriber($queue, ...

  6. rabbitmq 消费端代码获取队列名称_C#调用RabbitMQ实现消息队列的示例代码

    前言 我在刚接触使用中间件的时候,发现,中间件的使用并不是最难的,反而是中间件的下载,安装,配置才是最难的. 所以,这篇文章我们从头开始学习RabbitMq,真正的从头开始. 关于消息队列 其实消息队 ...

  7. RabbitMQ 中 7 种消息队列

    点击关注公众号,Java干货及时送达 七种模式介绍与应用场景 简单模式(Hello World) 做最简单的事情,一个生产者对应一个消费者,RabbitMQ相当于一个消息代理,负责将A的消息转发给B ...

  8. RabbitMQ中7种消息队列和保姆级代码演示!

    blog.csdn.net/qq_32828253/article/details/110450249 七种模式介绍与应用场景 简单模式(Hello World) 做最简单的事情,一个生产者对应一个消 ...

  9. 【重难点】【RabbitMQ 01】消息队列的作用、主流的消息队列、RabbitMQ 基于什么传输消息、RabbitMQ 模型架构、死信队列和延迟队列

    [重难点][RabbitMQ 01]消息队列的作用.主流的消息队列.RabbitMQ 基于什么传输消息.RabbitMQ 模型架构.死信队列和延迟队列 文章目录 [重难点][RabbitMQ 01]消 ...

最新文章

  1. IntelliJ IDEA快捷键汇总_java
  2. Angular 路由
  3. 刘光毅:频谱统一推进5G尽早商用 4G网络向5G平滑演进
  4. 有三AI模拟面试服务上线,一对一服务助你求职
  5. MeeGo 1.2发布
  6. C语言学习之输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
  7. HTTP Status 500 - {msg=SolrCore 'collection1' is not available due to init failure: Could not load c
  8. 暗黑系游戏_暗黑系冒险游戏,剧情引人入胜!
  9. php strtofloat,Delphi6函数大全(3)
  10. JAVA获取安卓系统下usb_Android 获取 usb 权限的两种方法
  11. 3. jQuery 选择器
  12. Eclipse主题切换
  13. 基于linux环境tcp网络编程(在线英英词典)文档【3】
  14. MySQL春节收支表怎么建立_怎样才能建一个收支表格?
  15. SYN6288语音合成模块
  16. matlab 数组写入文件名,Matlab将数组写入.txt文件
  17. vscode安装插件以及配置anaconda
  18. 大连计算机office办公,大连办公office软件学习内容
  19. MemBrain: Improving the Accuracy of PredictingTransmembrane Helices
  20. CAD中黑色实心柱子墙体画法步骤及方法

热门文章

  1. 实施和开发哪个前景好_「深圳app开发」app模板开发和app定制开发哪个好呢?
  2. Leetcode每日一题:168.excel-sheet-column-title(Excel表名称)
  3. 操作系统——Linux 虚拟内存和物理内存的理解
  4. vscode 常用配置
  5. keil编译运行错误,缺少error:#5:#includecore_cm3.h_过路老熊_新浪博客
  6. 读《豆瓣的基础架构》有感
  7. 当代计算机技术在建筑设备中的应用,计算机技术在建筑设计中应用浅谈.doc
  8. java元类_元类 - 一心不乱 - 博客园
  9. bioconductor 安装包_R语言 | 你知道自己的Bioconductor版本么?
  10. Windows下Weblogic 12c单机安装与部署