服务从上线更新到今天早上8点10分,大约运行了20多个小时了,突然间不行了。于是上线查看日志发现一直在报错org.apache.catalina.connector.ClientAbortExrtException: n: java.net.SocketTimeouteoutException.....但是由于经验不是那么丰富,对于这个问题,也只能各种百度,有的说是因为http连接数太多了,有的是说因为文件上传的问题,但是百思不得姐。最后无奈,先重启服务试了试,重启是能起来,但是数据一直加载不起来,后台疯狂的在刷日志,执行。但就是得不到结果。然后想会不会是数据库问题,于是重启数据库,还是不行。
折腾了3个多小时,最后说有可能是程序中启动了一些HTTP请求,并没有关闭导致,于是检查了下代码,发现有个不可能正确的调用,并且这个方法还会在程序中调用HTTP请求,于是把这个代码注释掉,重新启动,服务正常了。但是具体因为什么问题,还不得知道。
我的服务器是windows server2012,我的tomcat设置成了服务,我把tomcat的连接数增加了,jvm的参数也在注册表中加大了
然后调整了tomcat的server.xml,增大了连接数
最大线程数设成了500,超过的排队,如果超过了acceptCount的值,那就拒绝访问了
其实真正起作用的,是注释掉那一段有问题的代码,