背景:
项目框架为springboot2.2.x,在使用rabbitmq时配置了多个virtual_host,但在实际使用的过程中向某一个virtual_host下的队列发送消息时竟然发送到别的virtual_host下的队列(队列名字都是一样的)去了,仔细检查了配置也没有什么问题…
解决:
Rabbitmq的配置文件是用@Configuration写的,注入了多个@Bean(xxxRabbitTemplate),发现在@Autowired某个rabbitTemplate时未指定某个具体的类,问题就出现在这,@Autowired默认是按type注入的,当某个接口有多个实现类时,结合@Primary是指注入这一个实现类的,这就造成明明配置了那么多个xxxRabbitmqTemplate其实只有那个先注入ioc容器中的实现类生效了。那之后无论向哪个virtual_host下的队列发送都只会发送到某个ioc容器中存在的那个实现类配置的virtual_host中的队列去。
找到问题在哪就很好解决咯,在@Autowired的时候指定是哪个具体实现类就可以了,即@Autowired搭配@Qualifier(xxxRabbitmqTemplate)注入即可,对了如果像我那样用@Bean(xxx)的方式,@Qualifier(xxx)要个@Bean保持一致;@Bean没有指定类名的话,@Qualifier(@Bean注解下方法名的名称,首字母要小写)
之后就可以向virtual_host对应的队列中发送消息了。还是对spring理解的不够深啊,再加把劲!

由配置Rabbitmq多virtual_host失效认识@Qualifier相关推荐

  1. 在linux下安装配置rabbitMQ详细教程

    安装Erlang 由于RabbitMQ依赖Erlang, 所以需要先安装Erlang. Erlang的安装方式大概有两种: 从Erlang Solution安装(此方式安装的erlang版本较高,和下 ...

  2. 腾讯云服务器安装配置rabbitmq

    一.安装 近期对消息队列的学习让我对消息中间件产生了兴趣,而作为消息队列的使用的rabbitmq,就是我学习中间件的第一步. rabbitmq和erlang的安装 安装之前先检查环境: [root@V ...

  3. MULE配置RabbitMQ简单示例

    环境 版本 mule-standalone 3.9.0 anypoint-studio 6.4.0 MULE提供了AMQP Connector,因此可以使用该Connector来配置RabbitMQ. ...

  4. CentOS 7.3 安装配置RabbitMQ

    安装RabbitMQ 参照官方文档 由于rabbitmq基于erlang开发,需配置erlang环境,rabbitmq大于3.7.0版本要求erlang版本 >=19.3.    yum安装,在 ...

  5. 微信服务号解决开启服务配置后自定义菜单失效的方法

    在部署微信服务号时碰到一个问题,由于需要监听用户订阅和取消订阅服务号的事件,所以开启了服务器配置(如何监听可查阅我上一篇文章),开启后发现服务号的菜单不见了.到微信公众平台的管理后台中查看自定义菜单, ...

  6. WebMvcConfigurer配置HandlerInterceptor拦截器失效

    1.前言 Springboot2.0之前,实现拦截器功能的配置类是通过继承(extends)WebMvcConfigurerAdapter类完成的,最近项目把Springboot升级到了Springb ...

  7. Vscode配置js代码格式化失效问题,例如方法后面跟空格javascript.format.insertSpaceBeforeFunctionParenthesis

    配置了方法后面不跟空格后,失效了,,,,一直找问题,找不到,原来竟然是... 禁止了js代码格式化的功能: 或者在配置里面添加: // 配置是否开启js代码格式化 "javascript.f ...

  8. 安装配置rabbitmq

    消息必须发送到特定的队列中才会转发,否则是不会转发的 类似发布订阅模式(广播模式) 属于一个重点,主要是由开发来完成. http://mirrors.aliyun.com/epel/6Server/x ...

  9. Ehcache二级缓配置永不过期,缓存失效问题 ---- 原因没有加载ehcache.xml配置文件,加载了默认的ehcache-failsafe.xml配置文件

    问题: 在ehcache.xml配置文件中的参数 配置的空闲时间,过期时间都很长, 或者说配置的永不过期, 但是在测试项目过程中, 程序还是会有重新查数据库, 配置参数,配置文件好像不生效问题; 解决 ...

最新文章

  1. torch.nn.Embedding理解
  2. MySQL中authorization_IdentitiServser4 + Mysql实现Authorization Server
  3. 用window.open时能否通过post方式传输数据?
  4. [前台]---图片上传和校验
  5. 在读博士生 2 年实现 Nature、Science 双发,他来自这所高校!
  6. 训练日志 2019.4.17
  7. java继承 后的方法_Java 继承
  8. JavaScript:Functions
  9. 2017最后两个半月的安排
  10. 怎么多快好省地学习中文自然语言处理
  11. 联想p720装系统_教你装系统第六节(装系统需要注意那些?)
  12. CCNA题库大换血,考生纷纷落马!(转)
  13. Linux下C++ libtorrent库使用
  14. MikroTik路由器配置
  15. 【ROM制作工具】合并分割system.img和userdata.img文件修改教程
  16. 关于错误:[Error] expected primary-expression before ‘int‘
  17. 用php做一个网站,如何用PHP开发一个完整的网站
  18. 计算机二级证书是什么类型,国家计算机二级是什么证书?
  19. 互道信息:智慧门店如何优化线下购物体验?
  20. 微信小程序组件库(简洁极客)---附源码

热门文章

  1. Mac电脑使用:Mac电脑一键智能清理神器CleanMyMac X,Android开发者
  2. 【富文本】亿图思维导图MindMaster Pro限时赠送正版
  3. 优化MySchool数据库设计(SQL Server)
  4. 无人驾驶技术入门(五)| 没有视觉传感器,还谈什么无人驾驶?
  5. PHP 操作redis 详细讲解
  6. CPU是沙子做的,凭什么卖那么贵?
  7. c语言,简易密码输入
  8. 关于控件注册和使用许可问题的解决办法
  9. SDN控制器工作原理—Vecloud
  10. 【Baidu Apollo】3 定位