【java笔记】SpringBoot中的@Retryable重试注解
@Retryable注解的功能顾名思义,即重试。它可以作用在方法上,当方法抛出指定的异常时,整个方法将会被重新执行。在使用时需要先在pom.xml中导入相关依赖,再在启动类中添加@EnableRetry注释以开启重试功能,最后在相应的方法上添加@Retryable注释。1. 依赖<dependency><groupId>org.springframework.retry&l
·
@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倍
更多推荐
已为社区贡献2条内容
所有评论(0)