許哲瑋 智慧法师
我很含蓄, 什么也没有留下!

DAP-自动重试Retry方法实战

DAP技术平台2025-5-7 15:00 阅读 38 评论 0

应用场景
在应用开发过程中,有可能会发生一些状况
例如 : 传送讯息失败,呼叫远端API失败,网路不稳定,这些突发的不稳定,常常只要再执行一次就正常了,在spring boot中, 有一个retry的机制来帮助我们实现目标
(下面以DAP高代码后端为例,DAP高代码后端以spring boot为主体框架,也是我们在撰写Athena应用后端时所必须使用的)

开发步骤
1. 在容器启动的主应用class中加入@EnableRetry来启动spring retry功能


2. 在需要的地方使用,使用的方式很简单,以下图程式为例

范例1

@Retryable(value = {DWRuntimeException.class}, backoff = @Backoff(delay = 1000L, multiplier = 2))

在这个范例中,queryMergeTaskUid方法可能会因为产生DWRuntimeException而失败。使用retry第一次重试为1秒,第二次2秒,第三次4秒。

备注 : Retryable预设执行次数为3次,multiplier属性为指定延迟的倍数


范例2 :

@Retryable(value = {DWRuntimeException.class}, maxAttempts = 5, backoff = @Backoff(delay = 1000))

产生DWRuntimeException而失败。使用retry最多执行5次,每次间隔1秒(1000毫秒)

备注 : maxAttempts 是最多执行次数


路过

雷人

握手

鲜花

评论

您需要登录后才可以发表言论 登录立即注册
facelist
  • 177帖子
  • 0关注
  • 0粉丝
  • 关注公众号
Copyright © 2025 鼎捷数智股份有限公司 版权所有 All Rights Reserved. Powered by Discuz! X5.0
关灯
即将开放
返回顶部
返回顶部