2012-04-12 8 views
1

首先,我是一個.NET人,所以我在這裏有點超出我的元素。配置 - 在TomCat上鎖定的調用/線程 - 供應商說重啓

我的客戶的供應商爲其產品託管的Tomcat提供了一個API。這項服務似乎「持續」了幾天的要求。

我的看法是,他們沒有在其API代碼中進行適當的錯誤處理,只是陷入無止境的循環中,一遍又一遍地重試請求。他們不會說出什麼問題,而只是告訴我的客戶重新啓動Tomcat。

這已經成爲一個問題,供應商現在正在建議安排一項任務來每日重新啓動Tomcat。但是,有些服務會在夜間按需(從零售消費者)調用API。

那裏的專家能幫我解答嗎?我不相信Tomcat有任何內在的錯誤需要重啓。在它之上構建的「嚴重」應用程序太多,絕不會容忍這種錯誤。它是他們(供應商)的錯誤編碼。或者是否有已知的配置/平臺問題可能導致這些「死線?」

任何見解將不勝感激。

回答

1

要分析卡住的線程,您需要進行線程轉儲並將其傳遞給供應商(或編寫代碼的人員)進行分析。如果你不知道如何採取線程轉儲,你可以谷歌找出你的環境的程序。
停滯線程可能是由說一個線程持有一個網絡資源,而不是放手。糟糕的編碼也可能是一個問題。
定期重新啓動並不是最佳選擇,但它可能是暫時的解決方法,直到找到永久解決方案。

+0

我很確定壞編碼是這個的根源。我個人認爲,這可能是死鎖或「無限重試」錯誤處理方法。線程轉儲至少應該幫助我們指出可疑的方法。 感謝您的提示! – 2012-04-12 16:49:38