0

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

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

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

4

1 回答 1

0

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

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

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

于 2018-08-07T15:09:00.343 回答