首页 > 解决方案 > 延迟 30 分钟重试

问题描述

我需要调用外部休息服务,如果第一次尝试失败,那么我必须在 30 分钟后再次调用。最多 3 次我可以这样打电话。我知道 spring 有 RetryTemplate 用于重试。但我觉得,对于我的情况,它不适合。我必须像这样调用 1000 多条记录。

知道如何在 Spring 中实现这一点。

标签: springspring-bootspring-retryretrytemplate

解决方案


使用TaskScheduler.

scheduler.schedule(() -> { ... }, 
    new Date(System.currentTimeMillis() + (30 * 60_000));

记录多少次,如果没有用尽,重新安排。


推荐阅读