在我的grials应用程序中,我有一个正在运行的作业,这会触发其定义:

    static triggers = {
    simple name: 'myJob', startDelay: 1000, repeatInterval: 36000000
    }

我想更改它,使该值不会被硬编码,但应从congif / properties文件中获取它们。

我尝试了这个:

Config.groovy:
myJob {
simpleName = 'myJob'
startDelay = '1000'
repeatInterval = '36000000'
}

并在工作触发器中:
    static triggers = {
    simple name: grailsApplication.config.myJob.name, startDelay: grailsApplication.config.myJob.startDelay, repeatInterval: grailsApplication.config.myJob.repeatInterval
    }

但是随后我收到一条消息:无法从静态上下文引用非静态符号'grailsApplication'。

有谁有一个更好的主意怎么做?

谢谢。

最佳答案

我也发现了这个问题,我通常要做的是将属性存储在.properties文件中,从Quartz作业中删除触发器,然后在Bootstrap.groovy中手动引导这些作业,以从属性文件中获取值。

检查以下内容:Quartz Plugin Documentation以查看如何触发作业

关于grails - Grails-从配置文件获取作业触发值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16643605/

10-13 05:38