我在grails中添加了石英:1.0.2插件:2.4.4应用程序。
我想要实现的是设置cronExpression值表单数据库。
我从grails命令创建了一个名为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,但没有运气。
请帮帮我!
发布于 2015-09-15 06:28:20
从职务文件中删除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的更多信息
https://stackoverflow.com/questions/32578868
复制相似问题