我有一个计时器类,计划每5分钟执行一次.我想在tomcat第一次启动时启动这个计时器类.在Grails中这样做的最佳方法是什么?
谢谢.杰伊钱德兰
如果您需要比定时器更多的灵活性,您可以使用Quartz插件并配置Cron作业:
class MyTimerJob {
static triggers = {
// cron trigger for every 5 minutes
cron name: 'myCronTrigger', cronExpression: '0 */5 * * * ?'
}
def execute = {
// perform task
}
}
Run Code Online (Sandbox Code Playgroud)
要在应用程序启动时启动Quartz (比如Jared说:不在tomcat启动时),请确保您grails-app/conf/QuartzConfig.groovy具有以下内容:
quartz {
autoStartup = true
}
Run Code Online (Sandbox Code Playgroud)
autoStartup = true 是默认值,因此您可能不需要更改任何内容.
使用此插件将使您不必自己处理计时器逻辑.