通过aop注解实现自动重试的功能
有时候,我们在程序中不得不对某些方法进行重试,比如说,请求某个接口,如果我们每次,都通过while和count–的写法无疑会让代码,变的很不优雅。因此我们这边用spring的aop设计一下这个功能。
1.我们定义一个Exception,如果我们想重试的方法,可以指定抛出RetryException异常
1 |
|
2.定义我们的retry注解
1 |
|
3.实现我们的interceptor逻辑
稍微解释一下下面的代码,我们around环绕,可以让我们在method执行之前对他进行拦截,然后只catch我们指定的RetryException,
对整个代码进行重新调用。
1 |
|
4.测试代码
1 |
|
通过console打印结果,得到了我们需要的效果
