簡體   English   中英

在Java servlet中殺死請求太久的請求

[英]Kill a request taking too long in Java servlet

我有一個簡單的Java Servlet應用程序在運行。 它有幾個端點。 盡管服務速度非常快,但我收到的一些請求有時會比預期花費更多時間。 什么是殺死任何超過約20秒的處理請求的最佳方法?

如果要中斷請求處理線程並且使用Tomcat,可以嘗試使用Stuck Thread Detection Valve

interruptThreadThreshold

最小持續時間(以秒為單位),之后應該中斷卡住的線程以試圖“釋放”它。

請注意,無法保證線程會被取消。 這通常適用於卡在I / O或鎖上的線程,但在無限循環的情況下可能無用。

默認值為-1,禁用該功能。 要啟用它,該值必須大於或等於閾值。

在客戶端實現Circuit Breaker可能更好,因為不能保證interruptThreadThreshold適用於所有場景。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM