Springboot 启动异常 --自动化配置问题

Springboot 在启动时:出现异常如下

  .   ____          _            __ _ _

 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/

 :: Spring Boot ::        (v1.5.4.RELEASE)

2018-03-15 18:10:08.380  INFO 12168 --- [           main] springboot.Start                         : Starting Start on 

。。。

2018-03-15 18:10:12.964  WARN 12168 --- [ost-startStop-1] o.a.c.loader.WebappClassLoaderBase       : The web application [ROOT] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:

 java.lang.Object.wait(Native Method)
 java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
 com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:43)
2018-03-15 18:10:12.987  INFO 12168 --- [           main] utoConfigurationReportLoggingInitializer : 

 

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.

原因分析:

 

  • 项目依赖复杂的情况下,由于依赖方的依赖组织不够严格,可能引入了一些实际我们不需要的依赖,从而导致我们的项目满足一些特定的自动化配置。
  • 传统Spring项目转换为Spring Boot项目的过程中,由于不同的组织方式问题,引发自动化配置加载的错误,比如:通过xml手工组织的多数据源配置等。
  • 上面这些原因都会导致不必要的自动化配置加载而导致应用无法启动或触发/health的健康检查不通过等问题。

解决:

   1. 当注解为 @EnableAutoConfiguration:

修改为: @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})

 

  2.当注解为 @SpringBootApplication:

修改为: @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

 

 3.当注解为 @SpringCloudApplication

修改为: @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})

@SpringCloudApplication

4.通过配置文件来设置:(通过外部依赖的修改来解决:通过与依赖方沟通,在对方提供的API依赖中去掉不必要的依赖

spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration

 

参考博客:http://blog.didispace.com http://blog.csdn.net/dyc87112/article/details/73739535

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值