在我们编写项目时,有时候需要调用外部接口,那这个时候就需要考虑如果出现异常怎么办,可能是网络访问异常,超时异常等等.SpringBoot为我们提供了重试机制,可适用于这种场景,

一.retry重试机制.

1.介绍:
   就是对一个请求进行多次重试,可以指定重试的参数,例如重试次数,间隔,线程数等,还有什么异常情况下进行重试,如果达到指定上限可以进行最终的失败性处理.

二.使用步骤:

1.第一步引入依赖.

2.在类上使用EnableRetry注解,一般使用在service层.使开启retry功能.
3.在需要的方法上使用RetryAble注解.
     里面可以指定各种参数,如,value指定捕获的异常,maxAttempts指定最大的重试次数.backoff指定重试策略.
4.指定最终失败执行的方法.
      在方法上加上@Recover注解即可,这里注意每一个捕获的异常都必须指定一个具体的失败方法.不能使用一个方法.

三.举例.

重试服务类:
测试:

测试结果:

Springboot(SpringBoot)重试机制retry相关推荐

  1. 重试机制 Retry

    文章目录 1.重试 1.1 重试作用 2.重试的三种方法 2.1 java retry 2.2 spring retry 2.3 guava-retrying 2.3.1 重试源 2.3.2 自定义重 ...

  2. RabbitMQ重试机制

    1.RabbitMQ重试机制的简介 RabbitMQ 不会为未确认的消息设置过期时间,它判断此消息是否需要重新投递给消费者的唯一依据是消费该消息连接是否已经断开,这个设置的原因是 RabbitMQ 允 ...

  3. Springboot 整合Retry 实现重试机制

    重试,在项目需求中是非常常见的,例如遇到网络波动等,要求某个接口或者是方法可以最多/最少调用几次: 实现重试机制,非得用Retry这个重试框架吗?那肯定不是,相信很多伙伴手写一下控制流程的逻辑也可以达 ...

  4. springboot 整合retry(重试机制)

    当我们调用一个接口可能由于网络等原因造成第一次失败,再去尝试就成功了,这就是重试机制,spring支持重试机制,并且在Spring Cloud中可以与Hystaix结合使用,可以避免访问到已经不正常的 ...

  5. Springboot:商品库存并发更新,乐观锁失败重试机制

    一个商城项目,用户下单时需要更新商品库存,在商品类增加了version字段,增加乐观锁,保证库存数据的线程安全,但是在多个用户同时下单更新库存时可能会导致库存更新失败,因此需要增加乐观锁失败重试机制 ...

  6. springboot 乐观锁重试机制

    重试机制 针对乐观锁的重试机制我分成以下几个步骤来实现: 自定义注解 给注解添加aop切面,在around中添加业务处理: 给serviceImpl添加注解 自定义注解 @Target({Elemen ...

  7. Spring Retry 重试机制实现及原理

    概要 Spring实现了一套重试机制,功能简单实用.Spring Retry是从Spring Batch独立出来的一个功能,已经广泛应用于Spring Batch,Spring Integration ...

  8. Spring异常重试机制 - Spring Retry

    目录 一 . 引入依赖 二 . 在启用类或业务类上添加@EnableRetry注解启用重试机制(在启用类上添加全局有效 , 在业务类上添加仅当前有效) 三 . 使用@Retryable实现重试 四 . ...

  9. 面试官:聊一聊SpringBoot服务监控机制

    面试官:聊一聊SpringBoot服务监控机制 前言 SpringBoot 监控 HTTP Endpoints 监控 内置端点 health 端点 loggers 端点 metrics 端点 自定义监 ...

最新文章

  1. mysql本地服务器密码,mysql如何修改密码
  2. Hadoop安装及eclipse配置
  3. python将运行结果用窗口打开-如何打开新控制台并运行python脚本
  4. DL之GRU:GRU算法相关论文、建立过程(基于TF)、相关思路配图集合、TF代码实现
  5. 【数据结构-排序】1. 图解插入排序三种实现(插入排序/折半排序/希尔排序)
  6. python背诵技巧_15条常用Python小技巧
  7. [ZJOI2007]棋盘制作 悬线法dp 求限制下的最大子矩阵
  8. jira7.12.1安装与破解
  9. 他在计算机上工作英语翻译,英语翻译1.尽管他在手术中割破了手,但他仍在继续工作.(in spite of)2.计算机在现代生活中起着重要的作用.(...
  10. python基础知识 ~ 异常处理与导入
  11. python怎么隔一个读取一个_Python实现中一次读取多个值的方法
  12. Vmware虚拟机集群设置静态ip
  13. 树莓派3 linux,树莓派
  14. DN值、辐射率、反射率等
  15. 基于jsp+mysql+Spring+SpringMVC+mybatis的大学生缴费系统-计算机毕业设计
  16. narwal机器人_Narwal云鲸首创“基站+机器人”,智能扫拖干净省心
  17. 2018秋北京松松兄弟线下聚会干货分享
  18. Java实现标题相似度计算,文本内容相似度匹配,Java通过SimHash计算标题文本内容相似度
  19. 最好的贵人,是努力的自己
  20. 虎从风跃,龙借云行--神行者Wi10无线移动硬盘开启WIFI无线存储共享新时代_MID论坛_太平洋电脑网产品论坛...

热门文章

  1. PRCT-1011: Failed to run “oifcfg”. Detailed error: null
  2. CTFHub-SSRF---(Post请求/上传文件/FastCGI/Redis/URL/数字IP/302跳转/DNS重绑定 Bypass)
  3. Linux SSH命令大全
  4. 各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式
  5. 4-6 ElasticSearch
  6. 实验吧——WEB-认真一点!
  7. python入门的详细答案_第11篇参考答案:Python入门经典习题题解
  8. mongoDB conf 文件配置详解
  9. 命令行错误提示--系统找不到指定的文件
  10. Urlrewrite(url地址重写)和UrlRewriteFilter