Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当从另一个类访问Quartz JobScheduler dataMap时,它似乎正在丢失数据_Java_Quartz Scheduler_Jobs_Job Scheduling - Fatal编程技术网

Java 当从另一个类访问Quartz JobScheduler dataMap时,它似乎正在丢失数据

Java 当从另一个类访问Quartz JobScheduler dataMap时,它似乎正在丢失数据,java,quartz-scheduler,jobs,job-scheduling,Java,Quartz Scheduler,Jobs,Job Scheduling,我正在尝试使用quartz作业调度器自动发送电子邮件。为此,我使用jobDataMap将完成作业所需的数据从初始化cronTrigger的类传递到执行作业的类。但是,当我尝试访问应该使用jobDataMap传递的数据时,它总是返回null。有人知道会出什么问题吗?下面是我初始化触发器的类中的代码: trigger = new CronTrigger("SendReportEmailsTrigger", "CronTriggerGroup", "0 0/1 * * * ?"); L

我正在尝试使用quartz作业调度器自动发送电子邮件。为此,我使用jobDataMap将完成作业所需的数据从初始化cronTrigger的类传递到执行作业的类。但是,当我尝试访问应该使用jobDataMap传递的数据时,它总是返回null。有人知道会出什么问题吗?下面是我初始化触发器的类中的代码:

trigger = new CronTrigger("SendReportEmailsTrigger", "CronTriggerGroup", "0 0/1 * * * ?");
        List < UserDetails> aList = customerDetailsService.getUsersConfiguredForEmailedReports();

        JobDataMap jobDataMap = new JobDataMap();
        jobDataMap.put("service", reportService);
        trigger.setJobDataMap(jobDataMap);

在日志中,emailReportService返回为null。

您正在触发器处保存
JobDataMap
,并从
jobDetail
获取。尝试使用或从

reportService是SpringBean吗?
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);