国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務(wù)器之家 - 編程語言 - Java教程 - Spring重試支持Spring Retry的方法

Spring重試支持Spring Retry的方法

2021-04-20 14:35人生的旅客 Java教程

本篇文章主要介紹了Spring重試支持Spring Retry的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

本文介紹了Spring重試支持Spring Retry的方法,分享給大家,具體如下:

第一步、引入maven依賴

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>1.5.3.RELEASE</version>
</parent>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.retry/spring-retry -->
<dependency>
  <groupId>org.springframework.retry</groupId>
  <artifactId>spring-retry</artifactId>
  <version>1.1.2.RELEASE</version>
</dependency>
<dependency>
  <groupId>org.aspectj</groupId>
  <artifactId>aspectjweaver</artifactId>
  <version>1.8.6</version>
</dependency>

第二步、添加@Retryable和@Recover注解

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package hello;
 
import org.springframework.remoting.RemoteAccessException;
import org.springframework.retry.annotation.Backoff;
import org.springframework.retry.annotation.Recover;
import org.springframework.retry.annotation.Retryable;
import org.springframework.stereotype.Service;
 
@Service
public class RemoteService {
@Retryable(value= {RemoteAccessException.class},maxAttempts = 3,backoff = @Backoff(delay = 5000l,multiplier = 1))
public void call() throws Exception {
    System.out.println("do something...");
    throw new RemoteAccessException("RPC調(diào)用異常");
}
@Recover
public void recover(RemoteAccessException e) {
    System.out.println(e.getMessage());
}
}

@Retryable注解
被注解的方法發(fā)生異常時(shí)會重試
value:指定發(fā)生的異常進(jìn)行重試
include:和value一樣,默認(rèn)空,當(dāng)exclude也為空時(shí),所有異常都重試
exclude:指定異常不重試,默認(rèn)空,當(dāng)include也為空時(shí),所有異常都重試
maxAttemps:重試次數(shù),默認(rèn)3
backoff:重試補(bǔ)償機(jī)制,默認(rèn)沒有

@Backoff注解
delay:指定延遲后重試
multiplier:指定延遲的倍數(shù),比如delay=5000l,multiplier=2時(shí),第一次重試為5秒后,第二次為10秒,第三次為20秒

@Recover
當(dāng)重試到達(dá)指定次數(shù)時(shí),被注解的方法將被回調(diào),可以在該方法中進(jìn)行日志處理。需要注意的是發(fā)生的異常和入?yún)㈩愋鸵恢聲r(shí)才會回調(diào)

第三步、SpringBoot方式啟動容器、測試

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package hello;
 
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.retry.annotation.EnableRetry;
 
@SpringBootApplication
@EnableRetry
public class Application {
 
  public static void main(String[] args) throws Exception {
    ApplicationContext annotationContext = new AnnotationConfigApplicationContext("hello");
    RemoteService remoteService = annotationContext.getBean("remoteService", RemoteService.class);
    remoteService.call();
  }
}

運(yùn)行結(jié)果:

16:50:51.012 [main] DEBUG org.springframework.retry.support.RetryTemplate - Retry: count=0
do something…
16:50:51.025 [main] DEBUG org.springframework.retry.backoff.ExponentialBackOffPolicy - Sleeping for 5000
16:50:56.026 [main] DEBUG org.springframework.retry.support.RetryTemplate - Checking for rethrow: count=1
16:50:56.026 [main] DEBUG org.springframework.retry.support.RetryTemplate - Retry: count=1
do something…
16:50:56.026 [main] DEBUG org.springframework.retry.backoff.ExponentialBackOffPolicy - Sleeping for 5000
16:51:01.026 [main] DEBUG org.springframework.retry.support.RetryTemplate - Checking for rethrow: count=2
16:51:01.027 [main] DEBUG org.springframework.retry.support.RetryTemplate - Retry: count=2
do something…
16:51:01.027 [main] DEBUG org.springframework.retry.support.RetryTemplate - Checking for rethrow: count=3
16:51:01.027 [main] DEBUG org.springframework.retry.support.RetryTemplate - Retry failed last attempt: count=3
RPC調(diào)用異常

參考 :https://github.com/spring-projects/spring-retry

補(bǔ)充

對于非冪等的請求(比如新增,更新操作),千萬不要使用重試,對數(shù)據(jù)一致性會造成很大影響。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/u014513883/article/details/52371198

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91麻豆产精品久久久久久 | 日本久久久 | 精品一区视频 | 久久精品亚洲精品 | 久久久久久成人 | 国内精品一级毛片 | 日韩中文字幕在线播放 | 亚洲精品成人av | 91在线视频观看 | 99精品视频免费 | 精品日韩一区二区 | 亚洲精品一二三 | 免费的黄视频 | 久久久久久久国产精品 | 欧美日韩精品在线观看 | 国产午夜精品久久久久久久 | 97国产超碰 | 天天干夜夜拍 | 蜜桃传媒一区二区 | 天天操,夜夜操 | 欧美成视频 | 黄色av网站在线观看 | 中文字幕国产 | 91av免费在线观看 | 日本三级中文在线电影 | 我要看免费黄色片 | 免费成人一级片 | 国产精品一区二区三区在线播放 | 欧美日韩激情 | 久久亚洲一区二区 | 特黄一级 | 一本大道香蕉大a√在线 | 亚洲 欧美 日韩在线 | 亚洲在线视频一区二区 | 国产精品国产三级国产aⅴ9色 | 国产一区二区三区免费观看 | 爱色区综合网 | 在线观看成人 | 国产精品久久久久久一区 | 国产在线一区二区 | 免费观看一级特黄欧美大片 |