我试图使用石英作业调度程序自动发送一封电子邮件。为此,我使用jobDataMap将完成作业所需的数据从cronTrigger初始化的类传递到作业完成的类。但是当我尝试访问应该使用jobDataMap传递的数据时,它总是返回null。任何人有任何想法可能会出错?下面是从类中的代码,我初始化触发:当Quartz JobScheduler dataMap从另一个类访问时似乎丢失了数据
trigger = new CronTrigger("SendReportEmailsTrigger", "CronTriggerGroup", "0 0/1 * * * ?");
List < UserDetails> aList = customerDetailsService.getUsersConfiguredForEmailedReports();
JobDataMap jobDataMap = new JobDataMap();
jobDataMap.put("service", reportService);
trigger.setJobDataMap(jobDataMap);
,这里是其中执行任务的代码:
public void execute(JobExecutionContext context) throws JobExecutionException {
JobDataMap dataMap = context.getJobDetail().getJobDataMap();
logger.debug("map = " + dataMap.entrySet());
logger.debug("dataMap = " + context.getJobDetail().getJobDataMap());
for (Object val : dataMap.entrySet()) {
logger.debug("next data map val = " + val);
}
EmailReportService emailReportService = (EmailReportService) dataMap.get("service");
logger.debug("email report service = " + emailReportService);
在日志emailReportService返回为空。
2013-01-07
Hq....
+0
是reportService SpringBean? –
+0
不,这是一个班级。 –