美文网首页Java
spring boot2.0.4 踩的两个坑

spring boot2.0.4 踩的两个坑

作者: holysu | 来源:发表于2018-09-10 22:45 被阅读469次
    1. 端口号 8090 的时候,请求接口都报 405 ,其他端口正常
      对应 issue https://github.com/spring-projects/spring-boot/issues/14195
      提 issue 的老兄也遇到了, 不过官方没有复现出来

    2. 注解注册 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 已经解决这个问题了

    image.png

    不知道为啥,2.0.4 又有这个问题

    解决办法就如 stackoverflow 中提示的,在 application.properties/yml 或者(如果你用了 spring cloud config 的话)直接在 bootstrap.yml
    关掉 rabbit 的健康检查

    management:
      health:
        rabbit:
          enabled: false
    

    相关文章

      网友评论

      • FantJ:我也用过2.0版本的rabbit,没有问题。是你依赖有问题吧

      本文标题:spring boot2.0.4 踩的两个坑

      本文链接:https://www.haomeiwen.com/subject/blbegftx.html