天天看点

eclipse启动tomcat卡死

日常工作中,都是用eclipse做开发WEB的IDE,今天发现个奇怪的问题,eclipse启动tomcat时,总是因为超时而自动关闭。

    打开"Servers"视图,找到自己配置的tomcat,双击查看配置,如下:

eclipse启动tomcat卡死

可以看到这里有一个选项,用来配置启动超过45秒时,会自动stop掉tomcat。现在把它改大点,如改为450秒。

    再次启动时,tomcat依然没有启动起来,查看控制台日志,竟然发现有个请求在访问项目首页,想到可能是刚改的首页查询数据库代码有问题,导致一直在这里等待。但问题来了,是谁访问首页呢?

    我在首页的Controller中,打印一下请求的ip和端口号

System.out.println(req.getRemoteHost());
System.out.println(req.getRemotePort());
           

打印结果:

127.0.0.1
52754
           

通过ip知道这是个本地进程发起的请求,通过端口号,我们可以找到对应的进程。

C:\Users\Administrator>netstat -ano | findstr "52754"
  TCP    127.0.0.1:18081        127.0.0.1:52754        ESTABLISHED     8232
  TCP    127.0.0.1:52754        127.0.0.1:18081        ESTABLISHED     3684
           

上面的二三列分别为本地地址和外部地址,由于52754查本地地址,因此看第二行,通过PID3684查看进程信息:

C:\Users\Administrator>tasklist |findstr "3684"
eclipse.exe                   3684 Console                    1  1,048,464 K
           

正是证明是eclipse发起的请求。

    但能否关闭eclipse这个行为呢?笔者目前还未找到相关配置,有知道的朋友可以赐教。