restlet2 0學習 請求超時設定

2021-09-30 15:40:10 字數 1024 閱讀 7122

一般,我們在請求乙個rest service的時候,總是希望可以設定一些超時的引數,這樣便於控制,如果service一直沒有響應,可以有所反饋。

在http client 的請求中有兩種可以設定的超時

connect連線超時和response反饋超時。

在connect連線超時,restlet已經提供了api去設定引數。而response反饋超時,restlet2.0還沒有提供響應的api,官方也說以後應該會提供,但是還沒有列入相應的計畫中。

由於我們知道restlet底層使用的是httpclient進行http響應。而httpclient是由相應的response反饋超時。所以在這裡把這些超時設定都先記錄下來。

需要org.restlet.ext.httpclient支援

下面所有的**都是需要

去建立乙個客戶端的連線端。而時間單位都是ms。

connect連線超時

當我們的client去訪問server端,但是在尋找server端的時候長時間的找不到,(一般情況為server端不可達,server端被關閉的情況)這個時候,連線超時就可以控制尋找server端的時間,如果超出了限定的時間,那麼就認為該server端的rest service 不可達。

client.setconnecttimeout(3000);

response反饋超時

當我們訪問某個server端的時候,找到了該server端,並和它建立了連線,執行server端呼叫的程式,但是server端的執行程式可能因為宕機或者其他原因,遲遲沒有反饋資訊給client端。這個時候我們就可以使用response反饋超時來限定時間,當超過設定的時間,我們就認為該和該server端的交流有問題,或者server端宕機。

client.getcontext().getparameters().add("sockettimeout",string.valueof(6000));

直接新增sockettimeout變數來限定。

學習日誌20

學習日誌 姓名 孔令斌 日期 2018.7.30 今日學習任務 按小組實現乙個基於stm32的程式 今日任務完成情況 詳細說明本日任務是否按計畫完成,開發的 量 我們小組決定完成乙個彩燈程式,已完成部分 今日開發中出現的問題彙總 有些想法無法實現,只能簡化 今日未解決問題無 今日開發收穫 1.更加了...

sdl學習心的 有錯誤請指出

記錄一些學習心得 1 when you use sdl lib at first,you must initialize it.example code if sdl init sdl init video 0 atexit sdl quit sdl init video initializes t...

Java學習筆記 覆蓋equals時請遵守通用約定

不覆蓋equals的情況 1 類的每個例項本質上是唯一的 2 不關心類是否提供了 邏輯想等 的測試功能 3 超類已經覆蓋了equals,從超類繼承過來的行為對於子類也是合適的 4 類是私有的或包級私有的,可以確定他的equals方法永遠不會被呼叫。應該覆蓋equals的情況 如果類具有自己特有的 邏...