2015-10-11 125 views
0

我已經上傳了一個網站,這個網站已經在一個虛擬主機上用Java開發了。我已經將它上傳到tomcat服務器上。每41分鐘一次,我得到503錯誤,我必須運行startup.sh腳本。我通過我創建的程序java檢測到它。我懷疑tomcat中的機器人或腳本每41分鐘就會停止tomcat。
你相信什麼,你建議做什麼?
我害怕有人因爲tomcat每41分鐘就停止一次黑客攻擊!爲什麼我的tomcat服務器每41分鐘停一次?

+0

你看過Tomcat日誌嗎? – hermitmaster

+0

是的,我在日誌中看不到錯誤 –

+4

離題說明:你應該避免在你的問題中提出即時答案(所以我編輯了那部分)。即使有些事情對你來說很緊急,但要意識到它對我們來說並不緊急。許多人在這裏冒犯了這一點,因爲它暗示着a)海報認爲他的帖子比其他人更重要(而且這不是因爲這裏的所有問題都同等重要),b)海報想要把對來這裏幫助自己的空閒時間的志願者施加壓力。 – Pshemo

回答

3

最近我有這個問題,如果將來有人面臨同樣的問題,我希望這會有所幫助。

方案:Tomcat的關閉沒有任何日誌或錯誤

1)我的問題根本原因:使用的TimerTask

2任務訪問synchronized方法)我有一個單獨的類與同步方法基於定時器或用戶操作從各個線程訪問某些時候,此方法需要花費幾分鐘的時間才能完成。當TimerTask在這個方法中等待一段時間(我猜計時器超時/線程被殺死或者在後臺發生了什麼事情),並且當方法的鎖被釋放的時候,tomcat正在被殺死。

因此,我刪除了synchronized關鍵字,並刪除了singleton,併爲線程安全做了一些代碼更改。然後問題就消失了。

我是如何發現的:我在synchronized方法的第一行有一條日誌語句,每次tomcat關閉時,我都會在最後幾行找到這條消息。

檢查是否有幫助:http://www.vineetmanohar.com/2010/06/howto-auto-recover-tomcat-crashes/

相關問題