首頁>技術>

業務場景:

Java定時任務突然停止,不在執行

業務場景:透過定時任務,定時生成資料檔案,再SFTP上傳到遠端伺服器上

查詢問題原因:

1. 查詢定時任務是否啟用:資料庫記錄狀態為啟用

2. 查詢應用日誌

正常日誌資訊:

異常日誌資訊

缺少上傳檔案資訊。懷疑是當時網路突然不通,經過網路組確認缺失是8號網路出現異常,但是在9號時就沒有SFTP上傳日誌資訊了。懷疑定時任務停止,但是是因為什麼原因停止的呢 ?

繼續查詢日誌。

查詢java堆疊資訊jstack

連線遠端伺服器的資訊還在,正常情況下是查詢不到該連線資訊的。因為連線釋放就不會存在該資訊。那既然存在該資訊就說明上次的定時任務沒有執行完成,連線沒有釋放。那為什麼連線沒有釋放會導致以後的定時沒有起作用呢?開始查詢程式碼:原來程式碼裡的定時是單執行緒的,相當於連線池中只有一個連線,這個執行緒因為網路原因導致連線沒有釋放,該連線一直在佔用。第二天定時任務再啟動時,得不到連線,導致定時任務沒有啟動。

PS:因為是兩臺機器做的負載均衡,為了不影響業務及日誌檢視就重啟一臺伺服器tomcat,保證業務正常。

8
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • CSS的定位相關基本知識