网络又超时了......怎么办?

网站建设3年前发布
35 0 0

在web应用中,由于网络原因或其他不可预测的原因,应用间会出现调用失败的情形,通过配置重试策略可以有效解决外在原因导致的系统故障。,构建Retryer,使用Retryer让业务代码拥有重试能力,前两次执行时模拟返回false,则会执行重试;当第3次时,正常执行业务代码并返回true,结束重试。,模拟前3次出现异常,则会执行重试;当第3次时,正常执行业务代码,结束重试。,模拟前5此出现异常,由于Retryer配置重试次数为5,则最终业务代码不会执行。,20230306005936a175e4f10f11508b5790083a9f856fc9d1bbdd932,执行流程
,通过RetryerBuilder构建Retryer,调用Retryer#call,封装业务代码为其回调函数。,构建Retryer主要通过RetryerBuilder.newBuilder()实现,其相关配置如下:,AttemptTimeLimiter中的FixedAttemptTimeLimit依赖于guava中的SimpleTimeLimiter,但是在guava高版本中该类已经成了私有类。,Guava Retrying模块能够通过简单的将代码实现业务逻辑重试的功能,并且其配置中包含了重试的次数、时长控制、重试阻塞、终止策略等等, 在项目中是非常常用的一项技术。,

© 版权声明

相关文章