我在grails:2.4.4应用程序中添加了quartz:1.0.2插件。
我要实现的是设置cronExpression值表单数据库。
我已经从grails-command创建了一个名为myBatch的作业。在myBatchJob.groovy的触发器块中,如果我尝试从数据库中获取任何数据,则不允许这样做。
我也尝试在BootStrap.groovy中添加以下内容
def quartzScheduler
def init = { servletContext ->
CronTrigger trigger = quartzScheduler.getTrigger("myBatchJobTrigger","DEFAULT")
def conf_expr = Configuration.findByConfigKey("batch_job_config_expression").configValue
trigger.setCronExpression '${conf_expr}'
quartzScheduler.rescheduleJob (trigger.getName(), trigger.getGroup(), trigger)
}
但这给了我这个错误
groovy.lang.MissingMethodException: No signature of method: org.quartz.impl.StdScheduler.getTrigger() is applicable for argument types: (java.lang.String, java.lang.String)
在上面的代码中,配置是具有两个字段configKey和configValue的域。我也进口了,org.quartz.CronTrigger
但是没有运气。
请帮忙!
triggers closure
从作业文件中删除。然后,BootStrap.groovy
您可以cron expression
从数据库中获取数据库,并使用动态计划方法来计划您的工作。例如,您的BootStrap.groovy init
关闭可以像下面这样
Configuration config = Configuration.findByConfigKey("batch_job_config_expression")
MyBatchJob.schedule(config.configValue)
有关动态调度的更多信息,请访问http://grails-plugins.github.io/grails-quartz/guide/triggers.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句