记一次循环依赖问题的排查

当在配置rabbitmq时出现了循环依赖

根据异常说明 是

org/springframework/boot/autoconfigure/amqp/RabbitAutoConfiguration$RabbitTemplateConfiguration.class

org.springframework.amqp.rabbit.core.RabbitTemplate com.shuidiit.diandimall.order.config.MyRabbitConfig.rabbitTemplate

这两个类出现了循环依赖

第一个是rabbitmq自带的自动配置类

第二个是自定义的rabbitmq配置类

具体看写的代码

 

我们可以看到自定义的mq配置中,注入了一个 MessageConverter

再来看RabbitTemplateConfiguration也有一个 MessageConverter

 

于是乎形成了

MyRabbitConfig 需要 RabbitTemplate

RabbitTemplate 需要 MessageConverter

MyRabbitConfig 又定义了 MessageConverter

 

反反复复,就形成了循环依赖

解决方法:

只要把 自定义 MessageConverter 与自定义 RabbitTemplate 不写在同一个类MyRabbitConfig 就行了

 

 

 

Guess you like

Origin blog.csdn.net/dyangel2013/article/details/121339591