guava-Retryer失败重试
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失败重试相关推荐
- foxmail邮件加载失败重试_java retry(重试) spring retry, guava retrying 详解
系列说明 java retry 的一步步实现机制. java-retry 源码地址 情景导入 简单的需求 产品经理:实现一个按条件,查询用户信息的服务. 小明:好的.没问题. 代码 UserServi ...
- java中的失败重试机制总结
应用中需要实现一个功能: 需要将数据上传到远程存储服务,同时在返回处理成功情况下做其他操作.这个功能不复杂,分为两个步骤:第一步调用远程的Rest服务上传数据后对返回的结果进行处理:第二步拿到第一步结 ...
- SpringBoot实战教程(3.1)——失败重试机制
一.Guava-Retry Guava retryer工具与spring-retry类似,都是通过定义重试者角色来包装正常逻辑重试,但是Guava retryer有更优的策略定义,在支持重试次数和重试 ...
- http工具类(支持https,连接池和失败重试)
在实际项目中,经常会遇到调用外部(第三方)的接口,如果调用量较大的话,可能需要考虑连接池.失败重试.SSL证书等问题,以提升性能和稳定性. 以下代码是封装的小组件,供大家参考. maven依赖 < ...
- 重试次数配置_TestNG实践——2.用例失败重试
@Test 用例失败重跑,retry最终一定是针对测试用例得,一个方法只有被@Test标注了才是测试用例,那么我们看下,@Test注解有没有相关属性呢? retryAnalyzer,就是用于指定失败重 ...
- invalid signature 错误原因验签失败_Nginx 失败重试机制
可直接点击上方蓝字 (网易游戏运维平台) 关注我们,获一手游戏运维方案 src 网易游戏 SRE,喜欢钻研与分享. 背景 Nginx 作为目前应用较广的反向代理服务,原生提供了一套失败重试机制,来保证 ...
- 分布式面试 - 如何基于 dubbo 进行服务治理、服务降级、失败重试以及超时重试?
分布式面试 - 如何基于 dubbo 进行服务治理.服务降级.失败重试以及超时重试? 面试题 如何基于 dubbo 进行服务治理.服务降级.失败重试以及超时重试? 面试官心理分析 服务治理,这个问题如 ...
- 面试系列26 如何基于dubbo进行服务治理、服务降级、失败重试以及超时重试
(1)服务治理 1)调用链路自动生成 一个大型的分布式系统,或者说是用现在流行的微服务架构来说吧,分布式系统由大量的服务组成.那么这些服务之间互相是如何调用的?调用链路是啥?说实话,几乎到后面没人搞的 ...
- Nginx失败重试中的HTTP协议幂等问题: non_idempotent
Nginx通过反向代理做负载均衡时,如果被代理的其中一个服务发生错误或者超时的时候,通常希望Nginx自动重试其他的服务,从而实现服务的高可用性.实际上Nginx本身默认会有错误重试机制,并且可以通过 ...
- org.apache.dubbo 2.7.7 服务端处理请求及时间轮(失败重试)
本文主要针对 dubbo-spring-boot-starter 2.7.7版本, 对应的 org.apache.dubbo 2.7.7 版本的源码. 本文主要从以下几个点来分析: 服务端处理请求 ...
最新文章
- 浅谈Redis和Hbase
- 使用LVS+TUN搭建集群实现负载均衡
- 谷歌否认街景服务侵犯隐私
- eclipse mybatis插件_Archetype插件的介绍和使用
- 利用 VMware vRealize - 构建和优化云管理
- Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2)
- a频繁连接不上redis_连接不到redis Caused by:..._慕课问答
- Codeforces 1182A Filling Shapes
- bootstrap学习笔记(1)基础段落,表格的实现
- Ubuntu完美安装QQ
- 计算机文件拒绝被访问,文件访问被拒绝_电脑文件访问被拒绝,需要权限
- python数据驱动读取用例_【webdriver自动化】Python数据驱动工具DDT(示例代码)
- [FormulaExcelPython] 一次指数平滑、二次指数平滑、三次指数平滑(Holt-Winters)...
- 毕业季好难抉择丨考研还是工作我该选哪一个?!
- 一个事物两个方面的对比举例_象征和体现这两个词的区别 最好举例子说明,谢谢啦...
- 蓝桥杯——瓷砖样式(第八届决赛)
- 台式cpu温度过高的两个原因及解决方法
- Scrum立会报告+燃尽图(Beta阶段第二周第二次)
- 爬取网络数据到excel表
- 【Quectel移远展锐平台5G模组RX500U/RG200U使用指南(二)-USB/TTL的使用】