gpt4 book ai didi

grails - scheduleWithFixedRate在grails项目中不起作用

转载 作者:行者123 更新时间:2023-12-02 15:06:55 25 4
gpt4 key购买 nike

import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;

class BootStrap {
def init = { servletContext ->
def sd = Executors.newSingleThreadScheduledExecutor()
sd.scheduleAtFixedRate(new CriticalTask(), 0, 1, TimeUnit.MINUTES)
}
}
已知 CriticalTask类是从 java.util.TimerTask类继承的。
CriticalTask​​类的run方法中的代码可以正常工作。但是,计划不起作用。
我不知道这是web.xml配置问题还是其他问题?
假定此作业每分钟启动一次。

还被告知我使用:
  • java8
  • grails 2.4.3
  • 最佳答案

    如果您使用的是ScheduledExecutorService,则不需要TimerTask,实际上,由于其结果令人困惑,因此使用TimerTask可能会适得其反。之所以有效,是因为TimerTask实现了Runnable,但是run()之外的所有其他方法都没有意义。

    即仅当您将cancel() scheduledExecutionTime() 类一起使用时,TimerTaskTimer才有效。

    方法 ScheduledExecutorService.scheduleAtFixedRate 返回 ScheduledFuture ,它具有诸如 getDelay cancel 之类的方法,可用于控制任务。

    关于grails - scheduleWithFixedRate在grails项目中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26395304/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com