rabbitMq无法消费发送的q的问题
1、问题叙述:
该项目配置了10来个mq,应对新开发需求,我也加了一个mq配置,然后在本地代码当中调用,当中接受,与前面写法相似,项目上测试环境测试。发现发送了queue之后本地消费日志没有的bug。
处理方案:
1、检查我的mq的配置,检查代码中对应mq的配置,然后重试
看不出问题出在哪里,寻找方法本地测试
2、本地测试,本地项目启动,使用soapui调用发送queue的facade,测试成功过一次
3、测试环境再次测试,无效,怀疑mq配置有问题,重新配置,依旧无效,服务器代码本地调试,得到的结果还是一样
4、再次本地测试,却没有成功了。问人,观察自己的mq有关的xml参数,更改并重试,依旧无效
5、再仔细排查原因,观察q是否发送到对应的队列,是否有消费动作,发现队列中暂存了我所有发的q,再发现对应的消费者为null。也就是说mq没有对应的消费者,检查同项目其他q,发现却有我本机作为提供者,再次检查代码消费者有关配置,无收获
6、搞不定问技术大牛,抛出问题,排查问题发现是mq分配的线程数不够,并发数*mq数量>原有的配置可分配线程数,将配置中可用线程数加大发现问题解决。
怎么看出是这个问题?
大牛没有明说,但其实日志文件中有过提示:

给mq分配连接的过程一直很慢,甚至>5分钟导致项目像假死一样,不过这个在我本地出现,服务器上没出现类似假死这个问题。原以为是网络与环境的问题,没有深入的思考一下,尴尬。
出现问题原因:
对rabbitMq不熟系,导致质疑自己的配置代码编写过多,印证花费了很多时间
对日志解读不够有经验,这个多多积累
存在即是有理!
rabbitMq无法消费发送的q的问题的更多相关文章
- RabbitMQ消息确认(发送确认,接收确认)
前面几篇记录了收发消息的demo,今天记录下关于 消息确认方面的 问题. 下面是几个问题: 1.为什么要进行消息确认? 2.rabbitmq消息确认 机制是什么样的? 3.发送方如何确认消息发送成功? ...
- Spring Boot 实现 RabbitMQ 延迟消费和延迟重试队列
本文主要摘录自:详细介绍Spring Boot + RabbitMQ实现延迟队列 并增加了自己的一些理解,记录下来,以便日后查阅. 项目源码: spring-boot-rabbitmq-delay-q ...
- 使用spring-rabbit测试RabbitMQ消息确认(发送确认,接收确认)
1.首先是rabbitmq的配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns ...
- 【转载】java实现rabbitmq消息的发送接受
原文地址:http://blog.csdn.net/sdyy321/article/details/9241445 本文不介绍amqp和rabbitmq相关知识,请自行网上查阅 本文是基于spring ...
- Rabbitmq——实现消费端限流 --NACK重回队列
如果是高并发下,rabbitmq服务器上收到成千上万条消息,那么当打开消费端时,这些消息必定喷涌而来,导致消费端消费不过来甚至挂掉都有可能. 在非自动确认的模式下,可以采用限流模式,rabbitmq ...
- RabbitMQ:消息发送确认 与 消息接收确认(ACK)
默认情况下如果一个 Message 被消费者所正确接收则会被从 Queue 中移除 如果一个 Queue 没被任何消费者订阅,那么这个 Queue 中的消息会被 Cache(缓存),当有消费者订阅时则 ...
- 【.NET 6】RabbitMQ延迟消费指南
背景 最近遇到一个比较特殊需求,需要修改一个的RabbitMQ消费者,以实现在消费某种特定的类型消息时,延迟1小时再处理,几个需要注意的点: 延迟是以小时为单位 不是所有消息都延迟消费,只延迟特定类型 ...
- RabbitMQ如何保证发送端消息的可靠投递-发生镜像队列发生故障转移时
上一篇最后提到了mandatory这个参数,对于设置mandatory参数个人感觉还是很重要的,尤其在RabbitMQ镜像队列发生故障转移时. 模拟个测试环境如下: 首先在集群队列中增加两个镜像队列的 ...
- RabbitMQ如何保证发送端消息的可靠投递
消息发布者向RabbitMQ进行消息投递时默认情况下是不返回发布者该条消息在broker中的状态的,也就是说发布者不知道这条消息是否真的抵达RabbitMQ的broker之上,也因此会发生消息丢失的情 ...
随机推荐
- liunx进程管理之进程介绍
关于进程 process ====================================================================================Wha ...
- 0.1.2 max_element和min_element的用法
找到的位置都是第一个最大(小)的元素,即存在多个相同大小的元素的时候找到的是第一个. 返回的是指针(元素地址). printf("%d\n",*max_element(a,a+n) ...
- 路由器固定IP配置
前言 路由器插入好电源,插入好网线,笔记本连接路由器的wifi,连接成功后,网页自动打开. 1.在网页自动输入管理员密码 2.上网方式选择固定IP地址,输入IP地址,子网掩码,默认网关,DNS服务 3 ...
- 【Oracle】【4】mybatis insert/update 数据后返回关键字段
1,插入 insert 场景:ID字段的值是数据库表“默认/表达式”(sys_guid())自动生成,插入一条数据到数据库后,需要获取该条数据的ID 解决方案: (1)Service层生成UUID p ...
- hbase的api操作
创建maven工程,修改jdk pom文件里添加需要的jar包 dependencies> <dependency> <groupId>jdk.tools</gro ...
- vue项目中引入第三方框架
element-ui npm install element-ui -- save; main.js中 import Element from 'element-ui'; import 'elemen ...
- [POJ题目分类][转]
Hint:补补基础... 初期:一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治 ...
- 解决maven 找不到指定路径应该如何
如果打开每个项目都有红x!!!解决办法: 1) 2)-->点击clean ,ok!!
- “reliable message”事件引发的思考
今天无意间看到了“reliable message"事件,平时还真没深入研究过这个事件,于是,就收集资料并稍微研究了一下,以下是官方就该事件给出的说明: When you send a me ...
- Units about ASM
1.ASM Striping and Mirroring:ASM supports two levels of striping: fine striping and coarse striping. ...