分析日志,可以排除这几个错导致系统挂掉。。
ShortService.doRequestService()无法使用服务
无法登录
找不到文件
找不到类型错
这些都是挂掉的影响来的。
根据错误,大致可推出,发生过程是:连接池满了,导致无法getconnetion(), 然后导致返回的是NULL
于是发生 java.lang.IllegalArgumentException: object is not an instance of declaring class 无法匹配类型,然后 ShortService.doRequestService()无法使用服务 -〉 无法登录
那么问题来了,为什么连接池为什么满了,有 300 个链接呀,汇丰银行才 200个。
connection不是已经优化了,全都关掉了吗? 大家于是便转向怀疑中间件问题。
自己搜“getconnection” 然后逐个排查,发现了4个是没有关的。。。
这件事给了以下启示:
1、不要想当然的以为关掉,要重复确认;
2、旧系统代码没有框架的事务管理代码,一定要close connection。