簡體   English   中英

Grails - Quartz作業觸發器中的參數

[英]Grails - Parameter in a Quartz job Trigger

我有以下石英作業,通過Quartz-plugin設置:

class UserMonthlyNotificationJob { 
static triggers = {
        cron name:'dailyTrigger', cronExpression: " ... "
        cron name:'weeklyTrigger', cronExpression: " ... "
        cron name:'monthlyTrigger', cronExpression: " ... "
}

    def execute(){ ... }
}

我希望能夠在execute塊中可用的觸發器中設置一個參數。 我似乎無法在cron trigger設置任何變量,並且custom trigger需要實現Quartz Trigger interface ,我不知道該怎么做。

任何幫助非常感謝。

讓你的工作實現StatefulJob ,然后你就可以訪問具有Trigger實例訪問器的JobExecutionContext 如果你有自己的Trigger類,那將是它的一個實例。

非常感謝,它成功了。 這就是我最終使用它的方式:

import org.quartz.StatefulJob
import org.quartz.JobExecutionContext

class UserPeriodicalNotificationJob implements StatefulJob{   

    static triggers = {
        cron name:'dailyTrigger', cronExpression: ConfigHolder.config.userDailyNotificationJob
        cron name:'weeklyTrigger', cronExpression: ConfigHolder.config.userWeeklyNotificationJob
        cron name:'monthlyTrigger', cronExpression: ConfigHolder.config.userMonthlyNotificationJob   
    }

    void execute(JobExecutionContext context){
        def triggerName = context.trigger.key
        try {
            switch (triggerName) {...}
        }
        catch(Exception) {...}
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM