org.springframework.retry
spring-retry
${version.spring.retry}
org.springframework.retry
spring-retry
复制代码
在这里我们使用的是maven中央仓库中最新的制品1.3.1
。除了其本身的依赖,正常使用Spring Retry
还需要 依赖AOP
。对于Spring Boot
项目,在 pom.xml
中添加 Spring-Boot-starter-aop starter
org.springframework.boot
spring-boot-starter-aop
复制代码
二、启用Spring Retry支持
为了启用Spring Retry的功能,需要向配置类添加@EnableRetry
注释。
@SpringBootApplication
@EnableRetry
public class Launcher {
public static void main(String[] args) {
SpringApplication.run(Launcher.class, args);
}
}
复制代码
使用Retry的功能,有两种常见的方式,包括@Retryable
注解到方法,以及RetryTemplate
配置策略后手动去执行。
三、@Retryable 注解形式
3.1 @Retryable
注解方式就是在启用重试特性的方法上使用@Retryable
注释。
我们提供一个接口,提供一个需要重试的方法,并为这个方式赋于改注解。
public interface RetryService {
/**
-
指定异常CustomRetryException重试,重试最大次数为4(默认是3),重试补偿机制间隔200毫秒
-
还可以配置exclude,指定异常不充实,默认为空
-
@return result
-
@throws CustomRetryException 指定异常
*/
@Retryable(value = {CustomRetryException.class},maxAttempts = 4,backoff = @Backoff(200))
String retry() throws CustomRetryException;
}
复制代码
注解参数的赋值内容解释见方法的注释。
-
value属性告诉 Spring retry 在方法在
CustomRetryException
异常出现时触发重试。 -
maxAttempts设置重试的最大次数,如果没有指定默认值为3。
-
backoff指定下次重试的延迟时间,默认值为1秒。
CustomRetryException
异常是自定义的异常,代码如下
public class CustomRetryException extends Exception{
public CustomRetryException(String error){
super(error);
}
}
复制代码
知其然不知其所以然,大厂常问面试技术如何复习?
1、热门面试题及答案大全
面试前做足功夫,让你面试成功率提升一截,这里一份热门350道一线互联网常问面试题及答案助你拿offer
2、多线程、高并发、缓存入门到实战项目pdf书籍
3、文中提到面试题答案整理
4、Java核心知识面试宝典
覆盖了JVM 、JAVA集合、JAVA多线程并发、JAVA基础、Spring原理、微服务、Netty与RPC、网络、日志、Zookeeper、Kafka、RabbitMQ、Hbase、MongoDB 、Cassandra、设计模式、负载均衡、数据库、一致性算法 、JAVA算法、数据结构、算法、分布式缓存、Hadoop、Spark、Storm的大量技术点且讲解的非常深入
计模式、负载均衡、数据库、一致性算法 、JAVA算法、数据结构、算法、分布式缓存、Hadoop、Spark、Storm的大量技术点且讲解的非常深入**
[外链图片转存中…(img-e7M1MwFc-1720132135814)]
[外链图片转存中…(img-K60bNCn8-1720132135814)]
[外链图片转存中…(img-zzwobtMk-1720132135814)]