如何解决如何在春季重试@Scheduled 任务
我有以下代码示例:
@Service
public class ScheduledTask {
// Running each hour at 0 min. and 0 seconds
@Scheduled(cron = "0 0 * * * *")
@Retryable(value = Throwable.class,maxAttempts = 2,backoff = @Backoff(delay = 1000))
public void execute() {
log.info("Executing scheduled task!");
throw new HttpTimeoutException("Let's see whether retry will rerun");
}
}
我可以看到正在执行的任务一次。但我没有看到任何重试。 @Scheduled
和 @Retryable
之间是否存在任何不兼容或我遗漏了什么?
或者是否有更好的方法来重试 @Scheduled
任务?
解决方法
确保您的配置类上有 @EnableRetry
注释以启用 @Retryable
注释处理。
使用 @EnableScheduling
安排时间也是如此。
除了@EnableRetry
和@EnableScheduling
之外,还要确保你有spring-aspects(或spring-boot-starter-aop
)的依赖。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。