Spring Retry重试怎么使用


本篇内容介绍了“SpringRetry重试怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!spring-retry是spring提供的一个重试框架,原本自己实现的重试机制,现在spring帮封装好提供更加好的编码体验。重试的使用场景比较多,比如调用远程服务时,由于网络或者服务端响应慢导致调用超时,此时可以多重试几次。用定时任务也可以实现重试的效果,但比较麻烦,用Spring Retry的话一个注解搞定所有。话不多说,先看演示。首先引入依赖使用方式有两种:命令式和声明式命令式定义一个RetryTemplate,然后调用execute方法,可配置项比较多,不一一列举真正使用的时候RetryTemplate可以定义成一个Bean,例如:业务代码:监听器实现:声明式(注解方式)这里需要主要的几点@EnableRetry(proxyTargetClass = true/false)@Retryable 修饰的方法必须是public的,而且不能是同一个类中调用@Recover 修饰的方法签名必须与@Retryable修饰的方法一样,除了第一个参数外声明式命令式为了自动重试,Spring Retry 提供了 RetryOperations 重试操作策略基本回调是一个简单的接口,允许插入一些要重试的业务逻辑:回调函数被尝试,如果失败(通过抛出异常),它将被重试,直到成功或实现决定中止。RetryOperations最简单的通用实现是RetryTemplate从Spring Retry 1.3开始,RetryTemplate支持流式配置:当重试耗尽时,RetryOperations可以将控制传递给不同的回调:RecoveryCallback。在最简单的情况下,open和close回调在整个重试之前和之后,onSuccess和onError应用于个别的RetryCallback调用,onSuccess方法在成功调用回调之后被调用。有时,你希望在每次业务处理发生时都重试一些业务处理。这方面的典型例子是远程服务调用。Spring Retry提供了一个AOP拦截器,它将方法调用封装在RetryOperations实例中。RetryOperationsInterceptor执行被拦截的方法,并根据提供的RepeatTemplate中的RetryPolicy在失败时重试。你可以在 @Configuration 类上添加一个 @EnableRetry 注解,并且在你想要进行重试的方法(或者类)上添加 @Retryable 注解,还可以指定任意数量的重试监听器。可以使用 @Retryable 的属性类控制 RetryPolicy 和 BackoffPolicy如果希望在重试用尽时采用替代代码返回,则可以提供恢复方法。方法应该声明在与@Retryable实例相同的类中,并标记为@Recover。返回类型必须匹配@Retryable方法。恢复方法的参数可以包括抛出的异常和(可选地免费云主机域名)传递给原始可重试方法的参数(或者它们的部分列表,只要在需要的最后一个之前不省略任何参数)。若要解决可选择用于恢复的多个方法之间的冲突,可以显式指定恢复方法名称。“SpringRetry重试怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注百云主机网站,小编将为大家输出更多高质量的实用文章!

相关推荐: PHP内存木马病毒实现原理是什么

本篇内容介免费云主机域名绍了“PHP内存木马病毒实现原理是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!病毒源代码 (很简单)

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 02/17 16:02
Next 02/17 16:04

相关推荐