在当前微服务开发的潮流下,我们经常使用服务保险丝功能,例如sentinel,Hao Pig Brother,以避免对服务的一次性打击。然后,当一些重要的业务断开连接时,我们不能仅仅采取服务的融化。它取消了一项业务,但希望它可以自动查看和打印一些重试原木。
我们可以通过简单的if-else句子 +进行语句进行重试,因此所有需要检索的if和语句肯定不喜欢此代码的句子。
注意:当使用低版本的Guava的其他依赖关系会发生冲突并报告错误时。解决方案是排除番石榴的低版本或介绍Guava19.0版本。
使用此库的核心部分是重试,构建重试器具有三个维度,需要我们掌握
此维度1中的两种情况1.发生异常时重复参考2.返回结果以满足断言。
重试的策略分为三种类型:停止,等待,块。与如何停止重试,等待,多长时间以及如何等待相对应
每种类型对应于三个接口
在审查时,我们希望使用听众记录日志或其他其他操作,我们可以通过实现Lisnter来满足此需求。
这种效果是由Retrylisner接口 + retryerBuidler.withRetrylistener方法实现的
根据上述三个维度,我们可以根据需要重试。例如,我们将对数据库进行异步插入。一旦在这个地方发生异常数据,我们就会丢失。目前,我们可以通过重试框架进行操作。
以上是使用此guava重新组件库的使用。通过构建器模式的重试,实现了消除if和or陈述的效果。实施方法特别简单,并且可以根据维度和策略实现不同的效果。