一、现场问题描述java
二、问题分析web
从现象来看,服务在启动的时候请求gis服务,请求gis服务阻塞了服务的运行,同时这个gis请求没有设置超时,致使服务一直卡着运维
三、问题确认线程
因为现场的服务没法远程,只能经过现场人操做3d
经过jps查看现场java进程,查看到java进程idxml
能够看到这里除了jps有两个java进程,这时先拼运气,猜想第一个就是当前启动不了的服务blog
经过jstack 5976 >> D:\\1.txt,查看当前进程的线程堆栈,发现有个runnable的进程
能够看到GisInfoServlet请求gis服务,一直是运行的,直白的说请求就是同步的,阻塞了后续的工做部署
四、问题解决同步
经过在web.xml中注掉这个servlet确承认以正常启动,后续排查这个gis服务没法处理请求的缘由。这里在web.xml中查找这个servlet经历了一些波折,因为没法远程,只能依靠现场人员来操做,现场人员你懂得,不是黑他们,就感受他们最基本的环境都是只知其一;不知其二,现场的运维可想而知,我在家里同步环境里查找了web.xml没有发现这个servlet,而后全工程搜索了这个servlet也没有,这就怀疑人生了,结果仍是家里的经验丰富的资深运维说了现场的部署详情,原来现场部署了两个工程,一块儿发布的,这个servlet在另外一个工程里,真的想砸(zao)死本身,珍爱生命,远离现场。