美文网首页
使用Spring Boot Actuator的一些坑

使用Spring Boot Actuator的一些坑

作者: qiyinger | 来源:发表于2019-03-19 15:44 被阅读0次

    1、应用启动时报数据源加载循环引用的错


    image.png
    2019-03-19 15:37:26,501  main  WARN (Jdk14Logger.java)- Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'syncUserBalacneServiceImpl': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'balanceService': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'balanceMapper' defined in file [/Users/qiying/Documents/projects/java/yunpian-attila-account-service/yunpian-attila-account-service-impl/target/classes/com/yunpian/attila/account/spring/cloud/application/mapper/BalanceMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Unsatisfied dependency expressed through method 'sqlSessionFactory' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource': Post-processing of FactoryBean's singleton object failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'scopedTarget.dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.autoconfigure.jdbc.DataSourceInitializerInvoker': Invocation of init method failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource': Post-processing of FactoryBean's singleton object failed; nested exception is org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'scopedTarget.dataSource': Requested bean is currently in creation: Is there an unresolvable circular reference?
    

    解决:在yml文件中添加配置

    spring:
       cloud:
          refresh:
            refreshable: none
    

    2、想通过actuator的shutdown来停止应用,按照网上的配置endpoints.shutdown.enabled=true
    配置之后请求/shutdown 报404的错。查阅文档https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html#production-ready-endpoints-exposing-endpoints 除了info和health端点,其他端点Actuator对web请求是默认不暴露的,所以需要手动配置

    management:
      endpoints:
        web:
          exposure:
            # 暴露的端点
            include: shutdown 
      endpoint:
        #开启shutdown
        shutdown:
          enabled: true
    

    然后访问/shutdown就可以成功停止应用了

    相关文章

      网友评论

          本文标题:使用Spring Boot Actuator的一些坑

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