日常工作中,都是用eclipse做開發WEB的IDE,今天發現個奇怪的問題,eclipse啓動tomcat時,總是因爲超時而自動關閉。
打開"Servers"視圖,找到自己配置的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這個行爲呢?筆者目前還未找到相關配置,有知道的朋友可以賜教。