1

私の grials アプリケーションには、実行するジョブがあり、これがそのトリガー定義です。

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

値をハードコードするのではなく、congif/properties ファイルから取得する必要があるように変更したいと思います。

私はこれを試しました:

構成グルービー:

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' を参照できません。

誰かがそうする方法をもっとよく知っていますか?

ありがとう。

4

3 に答える 3

6

Holdersヘルパー クラスを使用してみてください。

import grails.util.Holders

static triggers = {
     simple name: Holders.config.myJob.name, 
     startDelay: Holders.config.myJob.startDelay, 
     repeatInterval: Holders.config.myJob.repeatInterval   
}
于 2013-05-20T15:23:25.213 に答える
0

この ${org.codehaus.groovy.grails.commons.ConfigurationHolder.config.myJob.name} のように使用できます

于 2013-07-26T09:33:06.410 に答える