次のように設定したQuartz.NETジョブがあります。
var jobKey = new JobKey("JobName", "JobGroup");
var triggerKey = new TriggerKey("JobName", "JobGroup");
var jobData = new JobDataMap();
jobData.Add("SomeKey", "OriginalValue");
var jobDetail = JobBuilder.Create<JobClass>()
.WithIdentity(jobKey)
.StoreDurably()
.UsingJobData(jobData)
.Build();
Scheduler.AddJob(jobDetail, true);
var triggerDetail = TriggerBuilder.Create()
.WithIdentity(triggerKey)
.StartNow()
.WithDailyTimeIntervalSchedule(x => x.OnEveryDay()
.StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(04, 07))
.EndingDailyAt(TimeOfDay.HourAndMinuteOfDay(06, 07))
.WithMisfireHandlingInstructionFireAndProceed())
.ForJob(jobKey)
.Build();
Scheduler.ScheduleJob(triggerDetail);
次のコードを使用して、そのジョブを手動でトリガーしようとしています。
var jobData = new JobDataMap();
jobData.Add("SomeKey", "SomeValue");
TaskScheduler.Scheduler.TriggerJob(new Quartz.JobKey("JobName", "JobGroup"), jobData);
このコードを手動でトリガーすると、次の値が
context.JobDetail.JobDataMap["SomeKey"]
は
"OriginalValue"
それよりも
"SomeValue"
私が期待するように。私は何が間違っているのですか?