在日常开发中,有时会遇到重试调用,可以使用 guava-retrying

引入 jar 包

<dependency><groupId>com.github.rholder</groupId><artifactId>guava-retrying</artifactId><version>2.0.0</version>
</dependency>

使用示例

Retryer<Boolean> retryer = RetryerBuilder.<Boolean>newBuilder().retryIfResult(Predicates.equalTo(false)).retryIfException().withWaitStrategy(WaitStrategies.fixedWait(1, TimeUnit.SECONDS)).withStopStrategy(StopStrategies.neverStop()).build();try {retryer.call(() -> {//call somethingHttpUtil.createRequest(Method.POST, "某某接口url").addHeaders(headers).form(formData).execute();return true;});
} catch (Exception e) {log.error("重试失败", e);
}

参考资料

  1. https://blog.csdn.net/wusd1256/article/details/104241544
  2. https://blog.csdn.net/wusd1256/article/details/104242057
  3. https://www.cnblogs.com/webwangbao/p/9229001.html
  4. https://www.cnblogs.com/liuyupen/p/13957171.html

guava 的重试机制 guava-retrying 使用相关推荐

  1. 使用Guava retryer优雅的实现接口重试机制

    转载自: 使用Guava retrying优雅的实现接口重调机制 Guava retrying:基于 guava 的重试组件 实际项目中,为了考虑网络抖动,加锁并发冲突等场景,我们经常需要对异常操作进 ...

  2. Guava-retrying 重试机制

    文章目录 Guava-retrying 1. 主要相关类 1.1 Attemp 类 1.2 Retryer 类 1.3 RetryListener 2. WaitStrategies 重试等待策略 2 ...

  3. java retry_Retry重试机制

    对于重试机制有两个一个是Guava,另一个是spring的. Guava retryer工具 pom引用 com.github.rholder guava-retrying 2.0.0 测试方法 Re ...

  4. 使用 guava-retrying 实现灵活的重试机制

    我们的后端业务系统可能会出现接口调用失败.网络拥塞超时.任务执行失败.系统错误等异常情况,需要进行重试操作.但某些场景下我们对重试有特殊要求,比如延迟重试.降频重试等,此时自己编写重试代码会很繁琐,在 ...

  5. 【转载】Java重试机制

    重试机制在分布式系统中,或者调用外部接口中,都是十分重要的. 重试机制可以保护系统减少因网络波动.依赖服务短暂性不可用带来的影响,让系统能更稳定的运行的一种保护机制. 为了方便说明,先假设我们想要进行 ...

  6. java中的失败重试机制总结

    应用中需要实现一个功能: 需要将数据上传到远程存储服务,同时在返回处理成功情况下做其他操作.这个功能不复杂,分为两个步骤:第一步调用远程的Rest服务上传数据后对返回的结果进行处理:第二步拿到第一步结 ...

  7. 层层递进打造你的重试机制

    重试机制在分布式系统中,或者调用外部接口中,都是十分重要的. 重试机制可以保护系统减少因网络波动.依赖服务短暂性不可用带来的影响,让系统能更稳定的运行的一种保护机制. 为了方便说明,先假设我们想要进行 ...

  8. java 超时重试机制_Java之Retry重试机制详解

    应用中需要实现一个功能: 需要将 常规解决方案 try- 在包装正常上传逻辑基础上,通过判断返回结果或监听异常决定是否重试,同时为了解决立即重试的无效执行(假设异常是有外部执行不稳定导致的:网络抖动) ...

  9. Java之Retry重试机制详解

    应用中需要实现一个功能: 需要将数据上传到远程存储服务,同时在返回处理成功情况下做其他操作. 这个功能不复杂,分为两个步骤: 第一步:调用远程的Rest服务上传数据后对返回的结果进行处理: 第二步:拿 ...

  10. 11. kafka重试机制解读

    前面对kafka的学习中已经了解到KafkaProducer通过设定参数retries,如果发送消息到broker时抛出异常,且是允许重试的异常,那么就会最大重试retries参数指定的次数. 本片文 ...

最新文章

  1. 自动驾驶技术的终局,可能将无限期推迟来到
  2. HttpRequest获取文件流,HttpResponse输出文件流
  3. Linux┊详解udev
  4. Amazon S3 设置对象的生命周期Lifecycle
  5. eclipse编辑js卡死解决方案
  6. 网页统计所用到的名词解析
  7. 四格漫画《MUXing》——发版后……
  8. Ext.Net学习笔记之动态加载TabPanel
  9. HDU 1016 Prime Ring Problem
  10. FFMpeg新旧接口之间的一些对应关系
  11. 双向绑定 当obj的值修改时_Vue3为什么选择Proxy做双向绑定?
  12. 计算机房承重载荷,机房承重标准及承重计算方法
  13. CMake is re-running because generate.stamp.list is missing.
  14. 关于excel表格直接引用和间接引用
  15. 8进制的乘法计算、加法计算
  16. 计算机网络基础——CS架构与BS架构、OSI七层协议、tcp/ip五层模型讲解
  17. 2cm有多长实物图_2cm 2cm有多长实物图
  18. IP前缀列表配置实验
  19. [深度学习论文笔记][Adversarial Examples] Deep Neural Networks are Easily Fooled: High Confidence Predictions
  20. 基于单目视觉的平面目标定位和坐标测量 (下) - 相机姿态估计和目标测量

热门文章

  1. 2021世界互联网大会“全体会议”发言干货都在这篇了
  2. 大数据体系的4个热点4个趋势,还有3个疑问
  3. 重磅!阿里自研RISC-V处理器玄铁910成功运行安卓10,相关代码开源
  4. 今天,一起吐槽容器镜像中那些让人一言难尽的事情
  5. 1篇文章认识ZCCT在线认证,加入千人在线学习大军领取云计算资料包!
  6. 九存:重新定义存储矿机
  7. 【VRP】基于matlab遗传算法求解多车辆路径规划问题【含Matlab源码 1249期】
  8. 【数字信号调制】基于matlab多进制数字频率调制(4FSK)【含Matlab源码 999期】
  9. 【车间调度】基于matlab遗传算法求解置换流水车间调度问题【含Matalb源码 176期】
  10. 【图像评价】基于matlab图像去雾质量评价【含Matlab源码 066期】