成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Spring使用SpringRetry引入重試機(jī)制

這篇文章主要講解了“Spring 使用Spring Retry引入重試機(jī)制”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Spring 使用Spring Retry引入重試機(jī)制”吧!

成都創(chuàng)新互聯(lián)主營南陵網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都App制作,南陵h5微信小程序開發(fā)搭建,南陵網(wǎng)站營銷推廣歡迎南陵等地區(qū)企業(yè)咨詢

如今,Spring Retry是一個(gè)獨(dú)立的包了(早期是Spring Batch的一部分),下面是使用Spring Retry框架進(jìn)行重試的幾個(gè)重要步驟。

第一步:加入Spring Retry依賴包。

<dependency>
    <groupId>org.springframework.retry</groupId>
    <artifactId>spring-retry</artifactId>
    <version>1.1.2.RELEASE</version>
</dependency>

第二步:在應(yīng)用中包含main()方法的類或者在包含@Configuration的類上加上@EnableRetry注解

第三步:在想要進(jìn)行重試的方法(可能發(fā)生異常)上加上@Retryable注解

@Retryable(maxAttempts=5,backoff = @Backoff(delay = 3000))
public void retrySomething() throws Exception{
    logger.info("printSomething{} is called");
    thrownew SQLException();
}

在上面這個(gè)案例當(dāng)中的重試策略就是重試5次,每次延時(shí)3秒。詳細(xì)的使用文檔看這里,它的主要配置參數(shù)有下面這樣幾個(gè)。其中exclude、include、maxAttempts、value幾個(gè)屬性很容易理解,比較看不懂的是backoff屬性,它也是個(gè)注解,包含delay、maxDelay、multiplier、random四個(gè)屬性。

  • delay:如果不設(shè)置的話默認(rèn)是1秒

  • maxDelay:最大重試等待時(shí)間

  • multiplier:用于計(jì)算下一個(gè)延遲時(shí)間的乘數(shù)(大于0生效)

  • random:隨機(jī)重試等待時(shí)間(一般不用)

Spring Retry的優(yōu)點(diǎn)很明顯,第一,屬于Spring大生態(tài),使用起來不會(huì)太生硬;第二,只需要在需要重試的方法上加上注解并配置重試策略屬性就好,不需要太多侵入代碼。

但同時(shí)也存在兩個(gè)主要不足

第一,由于Spring Retry用到了Aspect增強(qiáng),所以就會(huì)有使用Aspect不可避免的坑——方法內(nèi)部調(diào)用,如果被 @Retryable 注解的方法的調(diào)用方和被調(diào)用方處于同一個(gè)類中,那么重試將會(huì)失效;

第二,Spring的重試機(jī)制只支持對(duì)異常進(jìn)行捕獲,而無法對(duì)返回值進(jìn)行校驗(yàn)判斷重試。如果想要更靈活的重試策略可以考慮使用Guava Retry,也是一個(gè)不錯(cuò)的選擇。

感謝各位的閱讀,以上就是“Spring 使用Spring Retry引入重試機(jī)制”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Spring 使用Spring Retry引入重試機(jī)制這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

分享標(biāo)題:Spring使用SpringRetry引入重試機(jī)制
標(biāo)題鏈接:http://jinyejixie.com/article28/ipisjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、全網(wǎng)營銷推廣外貿(mào)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站商城網(wǎng)站、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
扎鲁特旗| 鲁山县| 杨浦区| 乐至县| 荣昌县| 新平| 梁山县| 若尔盖县| 土默特右旗| 福安市| 蚌埠市| 如皋市| 泗洪县| 宣威市| 东兴市| 松阳县| 麦盖提县| 达日县| 萍乡市| 峨眉山市| 敖汉旗| 洞口县| 张家川| 忻州市| 南昌县| 雷山县| 河北省| 民县| 青川县| 子洲县| 阿瓦提县| 孟津县| 凤台县| 泰兴市| 张家口市| 浏阳市| 临颍县| 铜山县| 元氏县| 夏河县| 申扎县|