01 · TWO-TIER HYBRID
LOCAL ➔ REMOTE
⚡
短信网关两级协同
本地 200ms 快消 + 分布式升级
优先在当前线程本地快重试 2 次;50ms 闪断零入库瞬时自愈,持续故障则平滑升级至分布式延时调度。
@RetryableTask(sceneType=10,
localRetryTimes=2, localIntervalMs=200)
02 · THREE-STAGE HOOK
CUSTOM 5s,8s,12s
调度拉起时先执行 DemoRefundHook.doQuery() 反查支付网关真实状态,确认未到账再安全重发。
@RetryableTask(sceneType=10,
idempotentKey="#transId", hook=DemoRefundHook.class)
03 · CRASH-RESILIENT
PRE_SUBMIT
📦
WMS 库存同步
执行前预提交 · 断电/OOM 不丢单
业务执行前先行原子落库注册 INIT 状态,即使容器半路被 kill -9 重启后仍可接管。
@RetryableTask(sceneType=12,
idempotentKey="#transId", preSubmit=true)
04 · PROGRAMMATIC API
CUSTOM 5s,8s,12s
🏨
OTA 酒店结算
API 手动提交 · 按异常精准控制
在 catch 块手动调用 retryClient.submit(),适合需按异常类型或业务条件精确决定是否重试。
try { otaClient.settle(req); }
catch (BusyEx e) { retryClient.submit(task); }