java笔记SpringBoot中的@Retryable重试注解
Posted 棉花糖灬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java笔记SpringBoot中的@Retryable重试注解相关的知识,希望对你有一定的参考价值。
@Retryable注解的功能顾名思义,即重试。它可以作用在方法上,当方法抛出指定的异常时,整个方法将会被重新执行。在使用时需要先在pom.xml中导入相关依赖,再在启动类中添加@EnableRetry注释以开启重试功能,最后在相应的方法上添加@Retryable注释。
1. 依赖
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
</dependency>
2. 启动类
@SpringBootApplication
@EnableRetry
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
3. 方法
@Retryable(value = Exception.class, maxAttempts = 3, backoff = @Backoff(delay = 2000L, multiplier = 1.5))
public void func() throws Exception{
// 方法体
}
4. 注解的属性
interceptor
:方法拦截器的名称include
:当抛出指定的异常时,才会重试。默认为空,为空时表示抛出任何异常都会重试value
:作用同include
exclude
:指定被忽略的异常,当抛出指定异常时,不会重试maxAttempts
:最大重试次数,默认3次backoff
: 重试等待策略,默认使用@Backoff,@Backoff默认的delay值为1000L,即1秒后重试;multiplier默认为0,若设为1.5,则表示下一次重试等待的时间为上一次的1.5倍
以上是关于java笔记SpringBoot中的@Retryable重试注解的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot学习笔记—— SpringBoot和微服务架构