[英]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.