-
端口号 8090 的时候,请求接口都报 405 ,其他端口正常
对应 issue https://github.com/spring-projects/spring-boot/issues/14195
提 issue 的老兄也遇到了, 不过官方没有复现出来 -
注解注册 RabbitTemplate , 启动 spring boot 项目的时候报
@Configuration
public class XX{
@Bean
@Autowired
RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory) {
RabbitTemplate template = new RabbitTemplate(connectionFactory);
// 设置json序列化
template.setMessageConverter(new Jackson2JsonMessageConverter());
return template;
}
}
异常信息:
Caused by: org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'rabbitTemplate': Requested bean is currently in creation: Is there an unresolvable circular reference?
因为单元测试的时候,并没有出现过这个异常 ,又仔细看了下 bean 之间的依赖,基本排除 bean 的循环引用问题,然后谷个歌发现 stackoverflow 中有个老兄一毛一样的问题 https://stackoverflow.com/questions/24171149/spring-boot-start-fails-for-autoconfigure-on-rabbitmq
对应官方 springboot github 的一个 issue https://github.com/spring-projects/spring-boot/issues/1081 原因是: spring rabbit 健康检查过程中有 bug
其中 这人说 1.3.3 已经解决这个问题了
不知道为啥,2.0.4 又有这个问题
解决办法就如 stackoverflow 中提示的,在 application.properties/yml 或者(如果你用了 spring cloud config 的话)直接在 bootstrap.yml
关掉 rabbit 的健康检查
management:
health:
rabbit:
enabled: false
网友评论