1. 在springboot中整合RabbitMq的过程中,遇到如下错误:(截取部分)

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'helloSender': Unsatisfied dependency expressed through field 'rabbitTemplate';..........

Caused by: java.lang.IllegalStateException: Failed to introspect Class [org.springframework.amqp.rabbit.core.RabbitTemplate] from ClassLoader [sun.misc.Launcher$AppClassLoader@4e0e2f2a]

Caused by: java.lang.ClassNotFoundException: com.rabbitmq.client.ConfirmCallback

控制台信息:

     

出现问题的代码行:

    @Autowired
private RabbitTemplate rabbitTemplate;

解决的过程:

(1)猜想应该是RabbitTemplate类没有加载,导致无法注入。看错误信息,要注入RabbitTemplate的bean实体,则是在RabbitAutoConfiguration的内部类中,如下图。

然后我在启动类中手动加入RabbitAutoConfiguration类,从而加载该bean。即在启动类中显示的注入bean:@EnableAutoConfiguration(exclude={RabbitAutoConfiguration.class})。

       

再重新启动。重新启动后报如下错误:Consider defining a bean of type 'org.springframework.amqp.rabbit.core.RabbitTemplate' in your configuration. 即:

依然没有解决,然后猜想应该不是这个原因。因为类中明明已经加载了该类也有这个bean,但就是不行

最终解决方法:

(2)在网上多次浏览其他类似的错误后,猜想可能是由于包的冲突所造成的。在pom.xml中引入了3.4.1版的amqp-client和spring-boot-starter-amqp,然后点进spring-boot-starter-amqp的包中,发现也引入了amqp-client,其版本是5.4.3。看来是由于包冲突引起的。

  将3.4.1版的amqp-client的注释掉,update项目,同时将上面的(1)中启动类的@EnableAutoConfiguration(exclude={RabbitAutoConfiguration.class})也注释。重新再启动,发现不再报错,成功解决。产生该问题的原因就是包冲突了。

最新文章

  1. Linux命令总结【待续】
  2. 用FLASH,安智和IOS打电话方法
  3. 使用key链接远程Git仓库
  4. linux分区和文件系统
  5. 通过shell脚本获取日期,并赋给变量
  6. Java并发编程-synchronized
  7. 关于Aspose对于Word操作的一些扩展及思考
  8. JAVA学习课第五十八届 — GUI
  9. Android网络开发之OkHttp--基本用法POST
  10. spring boot认识
  11. C#里调用 MysqlDB
  12. 如何一条sql语句查找表中第二大值
  13. 顺企网 爬取16W数据保存到Mongodb
  14. Spring AOP (一)
  15. AWS S3服务使用
  16. mongoDB 集合(表)操作
  17. 【编程语言】Kotlin之object关键字
  18. [swarthmore cs75] Lab 1 — OCaml Tree Programming
  19. 《http权威指南》读书笔记11
  20. T-SQL语句1

热门文章

  1. LAMP——实现phpMyadmin、wordpress及Discuz应用部署
  2. AcWing 1290. 越狱
  3. MySql:Windows10安装mysql-8.0.18-winx64步骤
  4. 1、springcloud gateway
  5. Java8 Map中新增的方法使用总结
  6. FreeRTOS常用函数
  7. 题解 SP3591 PATHEADS - Patting Heads
  8. 没事就要多做多练,Shell脚本循环例题做一做
  9. 【Tips】有道云笔记中Markdown插入图片
  10. springboot-5-持久层技术