差異處
這裏顯示兩個版本的差異處。
Both sides previous revision 前次修改 下次修改 | 前次修改 | ||
java:web:resteasy:invalid_connection_request_timeout [2018/06/02 18:49] tony |
java:web:resteasy:invalid_connection_request_timeout [2023/06/25 09:48] (目前版本) |
||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== RESTEasy - Connection Pool的Request Timeout沒有作用 (working..) ====== | + | {{tag>resteasy httpclient}} |
+ | ====== RESTEasy - Connection Pool的Request Timeout沒有作用 ====== | ||
===== Problem ===== | ===== Problem ===== | ||
- | RestAPI的開發者,大都會非常頻繁的存取目標機器;Connection Pool是其中一個增進存取效率的方式。然而,這陣子在使用RESTEasy + Apache Connection Pool後,發現ConnectionRequestTimeout並沒作用。本篇文章主要分享目前的解決方法。 | + | REST API的開發者,大都會非常頻繁的存取REST服務提供者;Connection Pool是其中一個增進存取效率的方式。然而,這陣子在使用RESTEasy + Apache Connection Pool後,發現ConnectionRequestTimeout並沒作用。本篇文章主要分享目前的解決方法。 |
===== Version Info ===== | ===== Version Info ===== | ||
- | 因為相依libraries的限制,我們目前還沒使用最新版本的RESTEasy,資訊如下: | + | 由於某些限制,我們目前還沒使用最新版本的RESTEasy,版本資訊如下: |
<code> | <code> | ||
resteasy-client: 3.0.14.Final | resteasy-client: 3.0.14.Final | ||
行 99: | 行 100: | ||
這個測試最後會因為第二個連線無法在2秒內取得而拋出ConnectionPoolTimeoutException。 | 這個測試最後會因為第二個連線無法在2秒內取得而拋出ConnectionPoolTimeoutException。 | ||
===== How to fix? ===== | ===== How to fix? ===== | ||
+ | 根據這兩個測試,懷疑是RESTEasy與HttpClient整合起來的問題。測試過更新RESTEasy與HttpClient的libraries後,確認只要將HttpClient的library升級至4.5.3以上就可以解決問題: | ||
+ | <code> | ||
+ | resteasy-client: 3.0.14.Final | ||
+ | httpcore: 4.3.3 | ||
+ | httpclient: 4.5.3 | ||
+ | </code> | ||
+ | ===== ===== | ||
+ | ---- | ||
+ | \\ | ||
+ | ~~DISQUS~~ |