重试的工具类

Guava-retrying

依赖

com.github.rholder

guava-retrying

2.0.0

Retryer retryer = RetryerBuilder.newBuilder()//抛出runtime异常、checked异常时都会重试,但是抛出error不会重试。

.retryIfException()//返回false也需要重试(可以根据返回值确定需不需要重试)

.retryIfResult(Predicates.equalTo(false))//重调策略

.withWaitStrategy(WaitStrategies.fixedWait(10, TimeUnit.SECONDS))//尝试次数

.withStopStrategy(StopStrategies.stopAfterAttempt(3))

.build();try{

retryer.call(callable);

}catch (RetryException |ExecutionException e) {//重试失败 后续操作//...

e.printStackTrace();

}

RetryerBuilder

RetryerBuilder 是一个 factory 创建者,可以定制设置重试源且可以支持多个重试源,可以配置重试次数或重试超时时间,以及可以配置等待时间间隔,创建重试者 Retryer 实例。

RetryerBuilder 的重试源支持 Exception 异常对象和自定义断言对象,通过retryIfException 和 retryIfResult 设置,同时支持多个且能兼容。

retryIfException

retryIfException,抛出 runtime 异常、checked 异常时都会重试,但是抛出 error 不会重试。

retryIfRuntimeException

retryIfRuntimeException 只会在抛 runtime 异常的时候才重试,checked 异常和error 都不重试。

retryIfExceptionOfType

retryIfExceptionOfType 允许我们只在发生特定异常的时候才重试,比如NullPointerException 和 IllegalStateException 都属于 runtime 异常,也包括自定义的error。

java try catch 失败重试_Java trycatch使用重试Retryer相关推荐

  1. java 异常后重试_Java trycatch使用重试Retryer

    重试的工具类 Guava-retrying 依赖 com.github.rholder guava-retrying 2.0.0 Retryer retryer = RetryerBuilder.ne ...

  2. java try catch 捕捉异常_java的 try-catch异常捕捉处理

    1.try-catch方法 try { 语句.... } catch (InterruptedException e) { e.printStackTrace(); } 2.解释1 当try语句中出现 ...

  3. java try catch 输入字符串_java – 没有在try / catch中捕获NumberFormatException

    我正在创建一个.jsp页面的问题.对于那些担心的人来说,该网站是为了完成家庭作业,但是,我试图超越所需要的,并且不会要求任何与评分相关的内容.这完全是为了我自己的利益. 开展业务: 我从用户那里得到一 ...

  4. java会编译失败吗?_Java为什么会有“无法到达的语句”编译器错误?

    小编典典 因为无法到达的代码对编译器毫无意义.尽管使代码对人有意义不仅比使代码对编译器有意义更困难,但编译器是代码的基本使用者.Java的设计者认为对编译器没有意义的代码是错误.他们的立场是,如果你有 ...

  5. java中catch的作用_Java中的try catch的作用

    http://wenwen.soso.com/z/q175197035.htm try{--}里面是一些你觉得可能会出问题的代码,catch里就是你觉得会有什么问题,如果出的问题正好是你catch里说 ...

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

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

  7. java 异常后重试_java – 异常后自动重试的功能

    如果抛出一些异常,我已经使这个抽象类自动重试网络调用. >我在InterruptedException&之后注意不要重试 的UnknownHostException. >我重试了5 ...

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

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

  9. java 删除文件失败_java中File的delete()方法删除文件失败的原因

    一般来说 java file.delete失败 有以下几个原因 1.看看是否被别的进程引用,手工删除试试(删除不了就是被别的进程占用) 2.file是文件夹 并且不为空,有别的文件夹或文件, 3.极有 ...

最新文章

  1. div中加载html js,Div里面载入另一个页面的实现(Ajax取代框架)
  2. HBase单机环境搭建
  3. mysql适配器_MySQL适配器PyMySQL详解
  4. android数据回传多个页面_Android页面之间进行数据回传
  5. 2019可信云云计算开源产业大会:腾讯云TStack获多云管理认证及多项殊荣
  6. @SessionAttributes 和 @SessionAttribute的区别
  7. 理解C#中的委托与事件
  8. Java 获得Class的绝对路径方法
  9. 2013-2014 ACM-ICPC Pacific Northwest Regional Contest题解
  10. 【记忆化递归+DP】LeetCode 139. Word Break
  11. 2010年“最具全球竞争力中国公司20强”榜单:
  12. 人工神经网络matlab啊6,基于MATLAB6.x的BP人工神经网络的土壤环境质量评价方法研究...
  13. c语言交通处罚单系统主函数,C语言课程设计交通处罚单管理系统.doc
  14. 数据库驱动加载失败问题
  15. Delphi使用逍遥安卓模拟器
  16. PCM1863应用笔记
  17. 最标准的html模板
  18. 用计算机弹琴琴谱,在电脑上弹钢琴的软件
  19. java 如何给游戏加音效,修改添加游戏中各种音效的步骤
  20. 2021年全球飞行娱乐(IFE)收入大约6325.9百万美元,预计2028年达到14810百万美元,2022至2028期间,年复合增长率CAGR为14.0%

热门文章

  1. Modbus协议介绍
  2. 陶瓷基覆铜板性能要求与标准
  3. 代码随想录打卡14天
  4. 退出登录时清空session中的数据
  5. 【FPGA教程案例19】通过乘法器实现阶乘运算
  6. Zigbee协议学习记录
  7. 论文下载神器Sci-Hub
  8. setsockopt详解
  9. android期末测试b卷,Android应用开发期末考试题
  10. wait,notify/notifyAll的使用及实现原理