有時候我們在專案中碰到,比如這樣那樣的原因(網路或者是其他的原因)導致方法呼叫失敗,大部分的方法是在觸發一次方法呼叫,其實我們可以通過自定義exception,然後提供呼叫的方法名稱和引數等等,提供一種自動的重試多次的機制。
其實方法是很簡單的,我們先自定義乙個exception
**如下
public class retryexception : exceptionpublic retryexception(string message, int retrytimes, type classtype, string method, params object values)
: base(message)
public retryexception(string message, exception innerexception, int retrytimes, type classtype, string method, params object values)
: base(message, innerexception)
private void retrymethod()
catch (exception ex)
else
}retrytimes--;
} while (retrytimes > 0);
}}
使用方法 我們先定義乙個簡單的方法如下
public class service}
呼叫的方法是
service sv = new service();object obj = new object();
trycatch (exception ex)
);}
C 重試機制類
public static class retry retryinterval,retrycount 重試乙個引數無返回值的方法 引數型別1 執行方法方法 引數1 重試間隔 重試次數 public static void execute actionaction,t1 arg1,timespan r...
ribbon的重試機制
客戶端配置 1 新增依賴 org.springframework.retry spring retry 2 新增配置 spring cloud loadbalancer retry enabled true 開啟spring cloud的重試功能 user service ribbon connec...
nginx的重試機制
現在對外服務的 很少只使用乙個服務節點,而是部署多台伺服器,上層通過一定機制保證容錯和負載均衡。nginx就是常用的一種http和反向 伺服器,支援容錯和負載均衡。nginx的重試機制就是容錯的一種。在nginx的配置檔案中,proxy next upstream項定義了什麼情況下進行重試,官網文件...