【问题标题】:Spring @schedule task does not return [duplicate]Spring @schedule 任务不返回[重复]
【发布时间】:2018-08-07 15:04:48
【问题描述】:

我的应用程序中有一个 Spring @scheduled 任务,它将每 2 分钟启动一次。在某些情况下,任务永远不会返回,因此在此之后任务将不会执行。

@Scheduled(fixedDelay = ....)
private void task() {
}

无论如何设置计划任务的超时以强制它在一段时间后结束?

【问题讨论】:

  • 我建议你使用 fixedRate 而不是 fixedDelay

标签: java spring java-annotations


【解决方案1】:

也许您想使用固定速率而不是固定延迟:

@Scheduled(fixedRate = 1000)
private void task() {
}

当您使用固定速率时,任务执行的开始不会等待上一次执行完成。还要考虑在业务逻辑内部使用Future,以防止缓慢的任务长时间挂起。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-11
    • 2016-10-27
    • 1970-01-01
    • 1970-01-01
    • 2016-08-10
    • 2013-02-18
    • 1970-01-01
    • 2022-08-16
    相关资源
    最近更新 更多