起因很简单,从git
拉了个boot
的项目下来,启动看似很顺利。
然后访问所有的接口都是返回 Could not get any response
!
然后就开始了各种排查。
1、端口号是否写错了,看了下没问题
2、是不是idea
或者maven
有缓存,两边都clean
了无果
3、是不是端口中邪了,换了8080依旧无效
4、查看项目的端口是否真的起来了,telnet
了下发现真没起来。
于是顺着第四条线,开始继续排查,查了下网上的资料,大部分说的是,springboot没有完全启动,所以端口没有绑定上。
果断开始排查日志,然后发现奇怪的问题,控制台打印到 Fetching JDBC Connection from DataSource
,就不往下走了。
果断断点跟进去,发现是获取数据库连接的地方,阻塞住了,推断是数据库的配置出问题了。
回头看了下yml文件,看起来好像没有什么问题。
猛的想到,自己新搭的docker-compose中配置的mysql,已经把端口改成3307了,于是将url加上3307的端口,重启,完美解决~
感悟:我们不仅要会用框架,更要有随时debug看源码的能力和勇气,并且要好好利用堆栈信息,这都是排查问题最宝贵的线索。