spring retry的简单用法

974次阅读
没有评论

共计 736 个字符,预计需要花费 2 分钟才能阅读完成。

1.前言

随着业务的开展,少不了和第三方系统交互,这时候交互失败的重试机制必不可少。spring retry就能发挥作用了,本文将简述如何使用它,达到请求重试的效果。

spring retry的简单用法

2.如何集成

添加maven依赖

<dependency>
    <groupId>org.springframework.retry</groupId>
    <artifactId>spring-retry</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aspects</artifactId>
</dependency>

当然还是熟悉的AOP套娃。由于springboot没有自动启用,我们需要手动使用@EnableRetry启用配置。接下来就和编程式事务的使用类似了,使用Retryable注解spring retry的简单用法

除此之外,spring retry还提供了一个注解Recover,看名字就明白是用来处理收尾工作的

spring retry的简单用法

简单看看,它是如何工作的,首先EnableRetry启用了RetryConfiguration配置spring retry的简单用法

OK,看看配置里做了什么,原来添加了AnnotationAwareRetryOperationsInterceptor这个Advice
spring retry的简单用法

接着看,发现这个Advice里在做Retryable方法拦截

spring retry的简单用法

按情况拦截

spring retry的简单用法

这么一看,还是RetryInterceptorBuilder在办事
spring retry的简单用法

到这里,发现RetryTemplate,基本明白是RetryTemplate承担了所有,如果我们自己实现,八成就是个循环计数的逻辑,看一下,还真是!

spring retry的简单用法

3.小结

本文简述了spring retry的用法,同时粗略的探讨了它的实现原理。

正文完
 
mysteriousman
版权声明:本站原创文章,由 mysteriousman 2022-04-25发表,共计736字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)