使用 Spring Retry 重构代码的综合指南。问题介绍
推荐博主开源的 H5 商城项目waynboot-mall,这是一套全部开源的微商城项目,包含三个项目:运营后台、H5 商城前台和服务端接口。实现了商城所需的首页展示、商品分类、商品详情、商品 sku、分词搜索、购物车、结算下单、支付宝/微信支付、收单评论以及完善的后台管理等一系列功能。 技术上基于最新得 Springboot3.0、jdk17,整合了 MySql、Redis、RabbitMQ、ElasticSearch 等常用中间件。分模块设计、简洁易维护,欢迎大家点个 star、关注博主。解决方案
github 地址:https://github.com/wayn111/waynboot-mall
Spring Retry 项目地址:https://github.com/spring-projects/spring-retrySpring Retry 是 Spring Batch 的一个子项目,它提供了一组注解和接口,我们可以使用它们向代码添加重试逻辑。它提供了一种向代码添加重试逻辑的声明性方法。
使用 @Retryable 注解,我们通过 retryFor 属性指定要重试的异常数组,使用 maxAttempts 属性,可以指定要重试的次数。
使用 @Retryable 注解,我们可以使用重试退避 backoff 属性,还可以指定每次重试之间的延迟 delay。
再 Spring Retry 中,我可以使用 RetryListenerSupport 将所有代码添加到一个位置,而不是在连接到 Mysql 数据库的所有代码的每个重试块中添加相同的代码。使用 RetryTemplate 上的 registerListener 方法注册 RetryListenerSupport:
关注公众号【waynblog】每周分享技术干货、开源项目、实战经验、高效开发工具等,您的关注将是我的更新动力!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |