| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> SpringBoot中重试框架——Spring-retry与Guava-Retry -> 正文阅读 |
|
[Java知识库]SpringBoot中重试框架——Spring-retry与Guava-Retry |
在SpringBoot项目的开发中,我们会有一种场景,就是调用接口或方法失败后需要进行重试。此时我们可以使用Spring-retry框架进行方法重试。 Spring-retry使用方法引入依赖
开启重试功能 在SpringBoot项目的主启动类上添加@EnableRetry注解。 使用方式 在接口或是方法上添加@Retryable注解表示当前方法如果出现异常需要进行重试。 ?@Retryable注解中的属性 value:指定异常类型,只有抛出了此异常才会进行重试。 include:与value作用相同。 exclude:指定哪些异常不需要处理。 maxAttempts:最大重试次数。 backoff:重试等待策略,这个属性比较特殊,他的值是@Backoff注解,我们根据这个注解的参数去配置等待策略。 ----------------------------------------------------------------------------------------------------------------------- @Backoff注解属性 value:延迟属性,单位是毫秒,默认1秒钟重试一次。 multiplier:延迟倍数,通过value属性与此属性相乘获取第一次的重试时间,重试后再次乘以此参数获取下一次的重试时间。 如果重试失败不想继续重试了,我们可以通过@Recover注解创建一个重试失败的处理方法。 ?我们使用此框架一定要注意以下几点,否则直接上生产就报错给你看! 1. 回调方法必须与重试方法在同一个类中。 2. 多个回调方法返回值不能相同,也就是说同一个类中不能有两个String类型的回调方法,否则调用回调方法时会报异常。 3. 回调方法可以添加异常参数,表示我们捕获到的异常,也可以选择无参。 4. 回调方法最后的返回值会直接作为重试方法的返回值。 5. 捕获的异常相当于被try...catch...了,回调方法就是其中catch那部分(这个意思就是说异常信息需要自己处理,不会直接打印了)。 其实retry框架也有很多局限性,比如他只支持对于异常的捕获,并且重试失败之后调用回调方法只能传递异常信息,无法传递其他信息。 相比于retry框架,Guava-Retry框架则更加灵活。 Guava-Retry使用方法引入依赖
使用方式 这个框架大部分常用的内容都在这个类里面了。
SpringBoot中的重试框架就到这里了,在工作中可以根据具体情况进行选择。希望能够对小伙伴们有帮助。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年3日历 | -2025/3/10 15:29:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |