我是石英schdeuler的新手,我正在尝试探索石英的功能,使用一个简单的程序访问jobdata,但得到null
我的程序
object MyMain extends App{
lazy val quartz = StdSchedulerFactory.getDefaultScheduler
val Job = new Job {
override def execute(jobExecutionContext: JobExecutionContext) = {
println("Event")
val jobDataMap = jobExecutionContext.getJobDetail.getJobDataMap
println(jobDataMap.getString("aa"))
}
}
val job = JobBuilder.newJob(Job.getClass)
.withIdentity("Job", "Group")
.build
val trigger: Trigger = TriggerBuilder
.newTrigger
.withIdentity("Trigger", "Group")
.usingJobData("aa","bb")
.withSchedule(
CronScheduleBuilder.cronSchedule("0/5 * * * * ?"))
.build
quartz.start
quartz.scheduleJob(job, trigger)
}
而不是返回键aa
的值,即bb
我得到了null
谁能指出应该正确的方法。
终于找到了解决方案,当我使用 getMergedJobDataMap
而不是 getJobDataMap
时它有效
val jobDataMap = jobExecutionContext.getJobDetail.getMergedJobDataMap