1、场景

批量给第三方回写数据,失败情况重发

2、设计

1)异常捕获

2)循环重试(包括:重试次数,重试间隔)

3、代码

package com.retry;
/*** @author liuxd* @version 1.0* @date 2019-11-06 17:36*/
import java.util.Random;
import java.util.concurrent.TimeUnit;public class TestRetry {//最大重试次数private static final Integer tryTimes = 6;//重试间隔时间单位秒private static final Integer intervalTime = 2;public static void main(String[] args) throws InterruptedException {boolean flag = TestRetry.retryBuss();System.out.println("最终执行结果:" + (flag ? "成功" : "失败"));}public static boolean retryBuss() throws InterruptedException {Integer retryNum = 1;boolean flag = false;while (retryNum <= tryTimes) {try {flag = execute(retryNum);if (flag) {System.out.println("第" + retryNum + "次执行成功!!!");break;}System.err.println("第" + retryNum + "次执行失败...");retryNum++;} catch (Exception e) {retryNum++;TimeUnit.SECONDS.sleep(intervalTime);continue;}}return flag;}/*** 具体业务* @param retryNum* @return*/private static boolean execute(int retryNum) {Random random = new Random();int a = random.nextInt(10);boolean flag = true;try {if (a != 6) {flag = false;throw new RuntimeException();}} catch (Exception e) {}return flag;}
}

4、结果

4.1)失败情况

第1次执行失败...
第2次执行失败...
第3次执行失败...
第4次执行失败...
第5次执行失败...
第6次执行失败...
最终执行结果:失败

4.2)成功情况

第1次执行失败...
第2次执行成功!!!
最终执行结果:成功

Java 实现重试机制相关推荐

  1. java retry_Retry重试机制

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

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

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

  3. Java基础学习总结(172)——手写Java 重试机制

    package com.zhy.common.retry;import java.util.Arrays;import org.apache.commons.lang3.StringUtils; im ...

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

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

  5. java什么是消息刷盘_Rocket重试机制,消息模式,刷盘方式

    一.Consumer 批量消费(推模式) 可以通过 consumer.setConsumeMessageBatchMaxSize(10);//每次拉取10条 这里需要分为2种情况 Consumer端先 ...

  6. Java之Retry重试机制详解

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

  7. Java基础学习总结(161)——Java 重试机制

    重试的作用: 对于重试是有场景限制的,不是什么场景都适合重试,比如参数校验不合法.写操作等(要考虑写是否幂等)都不适合重试.远程调用超时.网络突然中断可以重试.在微服务治理框架中,通常都有自己的重试与 ...

  8. 【转载】Java重试机制

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

  9. java——重试机制

    摘要 重试机制在网络服务中非常的重要,由于网路可能存在延迟,网络抖动,网络不稳定的情况.同时在分布式服务中网络的请求的高度密集,有些服务不一定能在规定的时间内完成访问.应该请求服务需要重试几次.以保证 ...

最新文章

  1. python引用numpy出错_引用numpy出错详解及解决方法
  2. 深入理解Javascript之执行上下文(Execution Context)
  3. Django10:Ajax介绍/发送数据/SweetAlert
  4. PHP:10个不常见却非常有用的PHP函数
  5. 关于 Java 的强制类型转换
  6. DM642图像处理程序的主要结构
  7. 汉字转拼音以及五笔码
  8. Ubuntu 8.10字体美化原理初步探索
  9. 华为密盒M310最新固件-精简美化版
  10. MATLAB 遗传算法求解约束优化问题
  11. Springboot图片上传 百度ocr文字识别提取
  12. Android Fingerprint完全解析(一) :Fingerprint整体框架
  13. 电视剧《春草》剧情介绍
  14. 为啥Java程序员工资高,却很多人想转行,这4点原很现实
  15. “千山之首 大果榛品”2022年辽阳大果榛子地理标志标识推介会开幕
  16. 置换群的整幂运算【置换群】
  17. 奥比中光Femto相机环境配置
  18. SAP License:反记账功能的应用
  19. Exception in thread “main“ java.lang.NoClassDefFoundError: org/apache/velocity/context/Context at c
  20. 内网安全学习从入门到入狱-知识-内网隧道技术小结

热门文章

  1. Vue编译处理: warning Delete `␍` prettier/prettier
  2. ElementUi轮播图走马灯添加图片
  3. 牛客网 2018年全国多校算法寒假训练营练习比赛(第二场) 题解
  4. ios和android操作收拾,iOS和Android后台机制的比较
  5. c语言支持脚本编程,lr脚本编程C语言.docx
  6. O’Shea基于深度学习调制识别代码
  7. 二项堆与斐波那契堆各个操作时间复杂度
  8. Keithley 26xxB双通道源表 FET测试软件 field-effct-transister
  9. 活动星投票午间修身自习室制作在线投票投票制作网页
  10. centos环境:Do not run Composer as root/super user的解决办法。