2016-05-12 55 views
0

我檢查的Tomcat的文檔,但沒有發現任何配置選項是:讓我們簡化的狀態Tomcat的HTTP多線程可以擁有數量:準備,連接,服務,整理的Tomcat應該退出卡住上傳線程

在沒有流量的情況下,所有http線程都會有status = ready。 如果客戶端請求進入,狀態將切換爲正在連接,然後切換到服務。如果所有字節都可以傳送到客戶端,則最後會有一個較短的完成狀態。之後,線程切換回就緒狀態,爲新請求做好準備。

如果上傳(在狀態服務中)出現問題,那麼我的意思是在10秒內沒有發送單個字節,我可以告訴Tomcat放棄這些線程嗎?

我沒有找到一個正確的選擇。 任何提示?

回答

1

有兩種配置選項:

  • connectionTimeout:

毫秒這個連接器將等待的數量,接受連接,用於請求URI行之後被呈現。使用值-1來表示無(即無限)超時。缺省值是60000(即60秒),但請注意,Tomcat附帶的標準server.xml將其設置爲20000(即20秒)。除非disableUploadTimeout設置爲false,否則在讀取請求正文(如果有)時也會使用此超時。

  • connectionUploadTimeout

指定超時,以毫秒爲單位,用而數據上傳正在進行中。這隻有在disableUploadTimeout設置爲false時纔會生效。

  • 的KeepAliveTimeout

毫秒這個連接器將等待另一HTTP請求關閉連接之前的數。默認值是使用爲connectionTimeout屬性設置的值。使用值-1來表示無(即無限)超時。

來源:https://tomcat.apache.org/tomcat-7.0-doc/config/http.html

如果你想防止阻塞,同時寫入到客戶端,那麼你應該使用異步servlet和封裝寫操作中豪豬命令。

+0

是的,我知道這兩個。但這些都不是我要找的。我正在尋找一個選項,只中止STUCK連接,其中沒有傳輸字節,但連接保持活動狀態(出於某種未知原因)。 – basZero

+0

感謝'keepAliveTimeout',這個參數是否也適用於尚未完成但被卡住的響應? – basZero

+0

「卡住」是什麼意思? –