栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Springboot重试之 Retry方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Springboot重试之 Retry方法

第一步、引入maven依赖


  org.springframework.boot
  spring-boot-starter-web


  org.aspectj
  aspectjweaver
  1.8.6

第二步、在service添加@Retryable注解

@Retryable(value = Exception.class, maxAttempts = 3, backoff = @Backoff(delay = 1000L, multiplier = 2))

标注此注解的方法在发生异常时会进行重试

序号属性类型默认值说明
1interceptorString””将 interceptor 的 bean 名称应用到 retryable()
2valueclass[]{}可重试的异常类型
3includeclass[]{}和value一样,默认空,当exclude也为空时,所有异常都重试
4excludeclass[]{}指定异常不重试,默认空,当include也为空时,所有异常都重试 
5labelString””统计报告的唯一标签。如果没有提供,调用者可以选择忽略它,或者提供默认值。
6maxAttemptsint3尝试的最大次数(包括第一次失败),默认为3次。
7backoff@Backoff@Backoff()重试补偿机制,指定用于重试此操作的backoff属性。默认为空

@Backoff

不设置参数时,默认使用FixedBackOffPolicy(指定等待时间),重试等待1000ms

序号属性类型默认值说明
1delaylong0指定延迟后重试 ,如果不设置则默认使用 1000 milliseconds
2maxDelaylong0最大重试等待时间
3multiplierlong0指定延迟的倍数,比如delay=5000l,multiplier=2时,第一次重试为5秒后,第二次为10秒,第三次为20秒(大于0生效)
4randombooleanfalse随机重试等待时间

3、在启动类增加@EnableRetry注解
@EnableRetry
public class WebApplication {

    public static void main(String[] args) {
        SpringApplication.run(WebApplication.class, args);
    }

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/750146.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号