package com.jmdf.world;import com.github.rholder.retry.*;
import com.google.common.base.Predicates;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;/*** 业务代码抛出异常,重试策略guava-Retryer*/
public class retryer {public static void main(String[] args) {//定义重试机制Retryer<Boolean> retryer = RetryerBuilder.<Boolean>newBuilder().retryIfException()    //设置异常重试.retryIfResult(Predicates.equalTo(true))    //call方法返回true重试.withWaitStrategy(WaitStrategies.fixedWait(3, TimeUnit.SECONDS))   //设置3秒后重试.withStopStrategy(StopStrategies.stopAfterAttempt(3)).build();  //设置重试次数 超过将出异常try {retryer.call(() -> {boolean result = false;//这里写你的业务逻辑代码try {System.out.println("aaaaaaaaaaaaaaaaaaaaaaaaaa");int a = 1/0;result =false;}catch (Exception e){result = true;}finally{return result;}});} catch (ExecutionException e) {e.printStackTrace();} catch (RetryException e) {e.printStackTrace();}}}
aaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaa
com.github.rholder.retry.RetryException: Retrying failed to complete successfully after 3 attempts.at com.github.rholder.retry.Retryer.call(Retryer.java:174)at com.jmdf.world.retryer.main(retryer.java:18)

去掉 int a =1/0;

aaaaaaaaaaaaaaaaaaaaaaaaaaProcess finished with exit code 0

guava-Retryer失败重试相关推荐

  1. foxmail邮件加载失败重试_java retry(重试) spring retry, guava retrying 详解

    系列说明 java retry 的一步步实现机制. java-retry 源码地址 情景导入 简单的需求 产品经理:实现一个按条件,查询用户信息的服务. 小明:好的.没问题. 代码 UserServi ...

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

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

  3. SpringBoot实战教程(3.1)——失败重试机制

    一.Guava-Retry Guava retryer工具与spring-retry类似,都是通过定义重试者角色来包装正常逻辑重试,但是Guava retryer有更优的策略定义,在支持重试次数和重试 ...

  4. http工具类(支持https,连接池和失败重试)

    在实际项目中,经常会遇到调用外部(第三方)的接口,如果调用量较大的话,可能需要考虑连接池.失败重试.SSL证书等问题,以提升性能和稳定性. 以下代码是封装的小组件,供大家参考. maven依赖 < ...

  5. 重试次数配置_TestNG实践——2.用例失败重试

    @Test 用例失败重跑,retry最终一定是针对测试用例得,一个方法只有被@Test标注了才是测试用例,那么我们看下,@Test注解有没有相关属性呢? retryAnalyzer,就是用于指定失败重 ...

  6. invalid signature 错误原因验签失败_Nginx 失败重试机制

    可直接点击上方蓝字 (网易游戏运维平台) 关注我们,获一手游戏运维方案 src 网易游戏 SRE,喜欢钻研与分享. 背景 Nginx 作为目前应用较广的反向代理服务,原生提供了一套失败重试机制,来保证 ...

  7. 分布式面试 - 如何基于 dubbo 进行服务治理、服务降级、失败重试以及超时重试?

    分布式面试 - 如何基于 dubbo 进行服务治理.服务降级.失败重试以及超时重试? 面试题 如何基于 dubbo 进行服务治理.服务降级.失败重试以及超时重试? 面试官心理分析 服务治理,这个问题如 ...

  8. 面试系列26 如何基于dubbo进行服务治理、服务降级、失败重试以及超时重试

    (1)服务治理 1)调用链路自动生成 一个大型的分布式系统,或者说是用现在流行的微服务架构来说吧,分布式系统由大量的服务组成.那么这些服务之间互相是如何调用的?调用链路是啥?说实话,几乎到后面没人搞的 ...

  9. Nginx失败重试中的HTTP协议幂等问题: non_idempotent

    Nginx通过反向代理做负载均衡时,如果被代理的其中一个服务发生错误或者超时的时候,通常希望Nginx自动重试其他的服务,从而实现服务的高可用性.实际上Nginx本身默认会有错误重试机制,并且可以通过 ...

  10. org.apache.dubbo 2.7.7 服务端处理请求及时间轮(失败重试)

    本文主要针对 dubbo-spring-boot-starter   2.7.7版本, 对应的 org.apache.dubbo 2.7.7 版本的源码. 本文主要从以下几个点来分析: 服务端处理请求 ...

最新文章

  1. 浅谈Redis和Hbase
  2. 使用LVS+TUN搭建集群实现负载均衡
  3. 谷歌否认街景服务侵犯隐私
  4. eclipse mybatis插件_Archetype插件的介绍和使用
  5. 利用 VMware vRealize - 构建和优化云管理
  6. Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2)
  7. a频繁连接不上redis_连接不到redis Caused by:..._慕课问答
  8. Codeforces 1182A Filling Shapes
  9. bootstrap学习笔记(1)基础段落,表格的实现
  10. Ubuntu完美安装QQ
  11. 计算机文件拒绝被访问,文件访问被拒绝_电脑文件访问被拒绝,需要权限
  12. python数据驱动读取用例_【webdriver自动化】Python数据驱动工具DDT(示例代码)
  13. [FormulaExcelPython] 一次指数平滑、二次指数平滑、三次指数平滑(Holt-Winters)...
  14. 毕业季好难抉择丨考研还是工作我该选哪一个?!
  15. 一个事物两个方面的对比举例_象征和体现这两个词的区别  最好举例子说明,谢谢啦...
  16. 蓝桥杯——瓷砖样式(第八届决赛)
  17. 台式cpu温度过高的两个原因及解决方法
  18. Scrum立会报告+燃尽图(Beta阶段第二周第二次)
  19. 爬取网络数据到excel表
  20. 【Quectel移远展锐平台5G模组RX500U/RG200U使用指南(二)-USB/TTL的使用】

热门文章

  1. webpack构建工具快速上手指南
  2. [转载]onclientclick和onclick区别
  3. vi - vim的一些遗忘点
  4. C#DbHelperOleDb,Access数据库帮助类 (转载)
  5. 在Windows上使用MSVC编译QuaZip
  6. UITableView性能优化 - 中级篇
  7. ESFramework Demo -- 简单的网络硬盘Demo
  8. 光热发电成千亿元市场 加速产业布局
  9. centos 之7zip
  10. 编译安装nginx-1.6.0