RabbitMQ获取队列的消息数目
时间:2019-08-16
本文章向大家介绍RabbitMQ获取队列的消息数目,主要包括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();
原文地址:https://www.cnblogs.com/commissar-Xia/p/11363435.html
- 利用Theano理解深度学习——Multilayer Perceptron
- JavaWeb14-事务,连接池(Java正在的全栈开发)
- 利用Theano理解深度学习——Logistic Regression
- JavaWeb13-设计模式案例实现(Java真正的全栈开发)
- 运维平台的建设思考-元数据管理(三)(r8笔记第15天)
- JavaWeb12-JSP, EL表达式,JSTL标签
- JavaWeb11-jsp.cookie.session(1)
- 交互式使用 R题(shell)
- union(并),setdiff(差),intersect(交)R语言含义
- JavaWeb11-jsp.cookie.session(2)
- 一个慢查询报警的简单处理 (r8笔记第12天)
- 厚土Go学习笔记 | 38. goroutine轻量级线程
- 厚土Go学习笔记 | 36. web服务指定路径下的get参数接收与处理
- Java开发Spring笔记第二天
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 树莓派基础实验9:蜂鸣器实验
- 浅谈文件上传漏洞(客户端JS检测绕过)
- java字符串操作:如何实现字符串的反转及替换?
- 树莓派基础实验10:干簧管传感器实验
- Java 字节流 字符流 io流
- 写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分 隔。
- 树莓派基础实验11:U型光电传感器实验
- java 缓冲流+原理图解
- 写一个函数,2 个参数,1 个字符串,1 个字节数,返回截取的字符串,要 求字符串中的中文不能出现乱码
- Java 编程,打印昨天的当前时刻.
- git merge后 丢失文件 以及 代码
- 树莓派基础实验12:PCF8591模数转换器实验
- spring boot多数据源的代码实现
- 树莓派基础实验13:雨滴探测传感器实验
- Java中的TCP通信程序