SpringBoot 整合 Spring Retry——优雅实现接口重试
接口调用失败时直接返回错误不是最佳选择有些场景重试一下就成功了。Spring Retry 提供了声明式重试机制。一、引入依赖dependencygroupIdorg.springframework.retry/groupIdartifactIdspring-retry/artifactId/dependencydependencygroupIdorg.aspectj/groupIdartifactIdaspectjweaver/artifactId/dependency二、开启重试SpringBootApplicationEnableRetrypublicclassSeckillApplication{publicstaticvoidmain(String[]args){SpringApplication.run(SeckillApplication.class,args);}}三、使用 RetryableServicepublicclassPaymentService{privatestaticfinalLoggerlogLoggerFactory.getLogger(PaymentService.class);Retryable(value{RemoteAccessException.class,TimeoutException.class},maxAttempts3,backoffBackoff(delay1000,multiplier2))publicbooleanrefund(StringorderNo){log.info(退款请求: {},orderNo);// 调用第三方支付接口returnthirdPartyRefund(orderNo);}Recoverpublicbooleanrecover(RemoteAccessExceptione,StringorderNo){log.error(退款失败记录到异常表: {},orderNo,e);// 记录到失败表人工处理returnfalse;}}四、自定义重试策略ConfigurationpublicclassRetryConfig{BeanpublicRetryTemplateretryTemplate(){RetryTemplatetemplatenewRetryTemplate();// 重试策略最多重试5次间隔递增ExponentialBackOffPolicybackOffnewExponentialBackOffPolicy();backOff.setInitialInterval(1000);backOff.setMultiplier(2);backOff.setMaxInterval(10000);template.setBackOffPolicy(backOff);// 异常判断哪些异常需要重试SimpleRetryPolicyretryPolicynewSimpleRetryPolicy();retryPolicy.setMaxAttempts(5);template.setRetryPolicy(retryPolicy);returntemplate;}}五、编程式重试ServicepublicclassOrderService{AutowiredprivateRetryTemplateretryTemplate;publicbooleanprocessOrder(LongorderId){returnretryTemplate.execute(context-{log.info(处理订单第{}次尝试,context.getRetryCount()1);returndoProcess(orderId);},context-{log.error(最终失败,context.getLastThrowable());returnfalse;});}}六、重试配置spring:retry:max-attempts:3# 全局最大重试次数七、秒杀系统应用ServicepublicclassSeckillService{Retryable(valueOptimisticLockException.class,maxAttempts3,backoffBackoff(delay200))publicbooleandeductStock(LongproductId){// 乐观锁失败时自动重试returnproductMapper.updateStock(productId)0;}} 觉得有用的话点赞 关注【张老师技术栈】吧

相关新闻

AhabAssistantLimbusCompany:边狱巴士PC端自动化助手完整指南

AhabAssistantLimbusCompany:边狱巴士PC端自动化助手完整指南

AhabAssistantLimbusCompany:边狱巴士PC端自动化助手完整指南 【免费下载链接】AhabAssistantLimbusCompany AALC,PC端Limbus Company小助手。AALC,Limbus Company Assistant on PC 项目地址: https://gitcode.com/gh_mirrors/ah/AhabAssis…

2026/7/30 19:36:34阅读更多 →
高性能容器化Android系统架构揭秘:Waydroid实现原理深度解析

高性能容器化Android系统架构揭秘:Waydroid实现原理深度解析

高性能容器化Android系统架构揭秘:Waydroid实现原理深度解析 【免费下载链接】waydroid Waydroid uses a container-based approach to boot a full Android system on a regular GNU/Linux system like Ubuntu. 项目地址: https://gitcode.com/gh_mirrors/wa/way…

2026/7/30 19:34:34阅读更多 →
Go容器化部署优化:Go Practical Tips中的GOMAXPROCS调整与性能调优

Go容器化部署优化:Go Practical Tips中的GOMAXPROCS调整与性能调优

Go容器化部署优化:Go Practical Tips中的GOMAXPROCS调整与性能调优 【免费下载链接】go-practical-tips Go Practical Tips 项目地址: https://gitcode.com/gh_mirrors/go/go-practical-tips 在Go应用的容器化部署中,合理调整GOMAXPROCS参数是提升…

2026/7/30 19:34:34阅读更多 →
2026 年 Gradpaper 智能写作助手成大学生首选 全链路赋能论文创作

2026 年 Gradpaper 智能写作助手成大学生首选 全链路赋能论文创作

2026 年,AI 赋能教育领域持续深化,智谱文思旗下Gradpaper 智能写作助手凭借专业大模型、全流程服务与高适配性,成为全国大学生论文写作首选工具。依托 5 亿 论文训练、5 年技术打磨、4000 高校模板及全链路功能,Gradpaper 解决论…

2026/7/30 20:53:15阅读更多 →
解锁Chartkick.py高级配置:自定义图表样式与交互体验的10个技巧

解锁Chartkick.py高级配置:自定义图表样式与交互体验的10个技巧

解锁Chartkick.py高级配置:自定义图表样式与交互体验的10个技巧 【免费下载链接】chartkick.py Create beautiful Javascript charts with minimal code 项目地址: https://gitcode.com/gh_mirrors/ch/chartkick.py Chartkick.py是一款能帮助开发者用最少代码…

2026/7/30 20:53:15阅读更多 →
C++实现希尔伯特变换:从原理到信号包络提取实战

C++实现希尔伯特变换:从原理到信号包络提取实战

1. 项目概述:从信号到代码的桥梁在信号处理的世界里,我们常常面对一个看似简单却至关重要的任务:如何从一个复杂的振荡信号中,清晰地剥离出它的“轮廓”或“骨架”?这个轮廓,就是信号的包络。想象一下&…

2026/7/30 20:53:15阅读更多 →
【AI搜索旅行规划终极指南】:2024年全球7大智能规划工具实测对比,92%用户不知的3个隐藏技巧

【AI搜索旅行规划终极指南】:2024年全球7大智能规划工具实测对比,92%用户不知的3个隐藏技巧

更多请点击: https://kaifayun.com 第一章:AI搜索旅行规划的技术演进与核心价值 AI搜索旅行规划已从早期基于关键词匹配的静态推荐系统,演进为融合多模态理解、实时环境感知与个性化意图建模的智能决策引擎。这一转变的核心驱动力在于大语言…

2026/7/30 20:53:15阅读更多 →
150+专业插件如何重塑Nuke合成工作流:Nuke Survival Toolkit技术解析

150+专业插件如何重塑Nuke合成工作流:Nuke Survival Toolkit技术解析

150专业插件如何重塑Nuke合成工作流:Nuke Survival Toolkit技术解析 【免费下载链接】NukeSurvivalToolkit_publicRelease public version of the nuke survival toolkit 项目地址: https://gitcode.com/gh_mirrors/nu/NukeSurvivalToolkit_publicRelease 在…

2026/7/30 20:53:15阅读更多 →
深入解析Ryujinx:如何用C构建高性能Switch模拟器

深入解析Ryujinx:如何用C构建高性能Switch模拟器

深入解析Ryujinx:如何用C#构建高性能Switch模拟器 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx 你是否曾好奇,一个完全用C#编写的开源项目如何实现复杂的Nint…

2026/7/30 20:51:14阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/30 15:03:16阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/30 12:22:27阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/30 15:13:02阅读更多 →
3分钟解锁iOS应用自由:TrollInstallerX让你的iPhone摆脱安装限制 [特殊字符]

3分钟解锁iOS应用自由:TrollInstallerX让你的iPhone摆脱安装限制 [特殊字符]

3分钟解锁iOS应用自由:TrollInstallerX让你的iPhone摆脱安装限制 🚀 【免费下载链接】TrollInstallerX A TrollStore installer for iOS 14.0 - 16.6.1 项目地址: https://gitcode.com/gh_mirrors/tr/TrollInstallerX 你是否曾经因为iOS系统的严格…

2026/7/30 0:00:58阅读更多 →
[GESP202606 四级] 扫雷

[GESP202606 四级] 扫雷

B4557 [GESP202606 四级] 扫雷 https://www.luogu.com.cn/problem/B4557 中国计算机学会(CCF)2026年6月C四级讲解——扫雷 https://www.bilibili.com/video/BV1MCMg6AEXR/ B4557 [GESP202606 四级] 扫雷 https://www.bilibili.com/video/BV1ZKTj6ZEVh/ 2…

2026/7/30 0:00:58阅读更多 →
Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:58阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/30 0:27:26阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/30 4:47:18阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/30 15:43:46阅读更多 →