背景介绍
接手了一个老系统
之前启动正常的,忽然启动不了了
由于线上生产服务器出现了一点问题,导致一些服务需要重启,也包括这次启动报错的 jar 包。
首先要说明一下,这个 jar 包之前是一直正常运行的,只是刚刚重启的时候报错了,所以当时也非常意外,启动之后我没看日志,因为我认为肯定没问题的,谁知道还是访问不到,于是就赶紧去查日志,也就发现了文章标题的这个错误:
重复试了几次都是相同的问题,于是赶紧在本地调试一下 master 分支的代码,我可以确定的是之前上线的时候是一切正常的,但是这时候本地也无法启动代码了,真是非常的意外,一时间也没想到什么问题。
解决过程
网上搜了一下,发现大部分的情况是自己代码写错了,不过我这份代码我是可以确定是完全正常的,所以就没再继续在网上看问题了,想了一下,感觉是不是和数据库之类的连接有关,不然不会无缘无故的启动不了。
MySQL 是第三方的,正常的。 Elastic Search 是另外一台服务器,也是正常的。 最后想到了应该是 Redis 服务器,因为是刚加的模块,所以暂时还并没有使用阿里云或者腾讯云的 Redis 服务。
于是赶紧去启动了 Redis 服务,因为服务器重启的原因,而且 Redis 服务也没有添加到自启动中,所以在一开始也没想到是这个问题,之后再去启动 jar 包,一切正常了。
小总结
这是个小问题,前前后后花了不到 10 分钟,只是一开始没想到这里。
这里也就是做个简单的记录,如果有朋友也遇到这个问题,可以尝试以下两个方向去找问题。
代码是否有问题
这个通过本地的控制台日志就看得出来,如果自己写错了,立刻改掉即可。
连接是否正常
比如 MySQL 连接、es 连接、Redis 连接等等,这些问题可能会忽略,所以你也可以去看一下。
推荐一下本人近期维护的开源项目:
Spring Boot 开源电商项目(含商城端和后台管理系统):https://github.com/newbee-ltd/newbee-mall
Spring Boot + Vue 前后端分离商城项目:https://github.com/newbee-ltd/newbee-mall-vue3-app
除注明转载/出处外,皆为作者原创,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
我曾七次鄙视自己的灵魂:
第一次,当它本可进取时,却故作谦卑;
第二次,当它空虚时,用爱欲来填充;
第三次,在困难和容易之间,它选择了容易;
第四次,它犯了错,却借由别人也会犯错来宽慰自己;
第五次,它自由软弱,却把它认为是生命的坚韧;
第六次,当它鄙夷一张丑恶的嘴脸时,却不知那正是自己面具中的一副;
第七次,它侧身于生活的污泥中虽不甘心,却又畏首畏尾。