有时候,我们调用第三方或者心跳检查时需要进行失败的重试机制,现在我就举例:
private static final int retryLimit = 5;
while (true) try { //调用其他的接口 break; } catch (Exception e) {//根据具体请求进行捕获异常,比如超时等 try { Thread.sleep(5000);//短暂休息5秒 } catch (InterruptedException e1) { logger.error("sleep异常", e1.getMessage()); } if (tryCount == this.retryLimit) { logger.error(":{}失败,失败原因{}", e.getMessage()); //@TODO 需要进行记录一下,以被查询 以及 再次调用 break; } tryCount++; } }
如有疑问,请发邮件:1176306419@qq.com
github:https://github.com/wangrui0/