夸脱示例通常会这样做:

JobDetail job = newJob(PrintMessageJob.class)


如何创建在运行时定义了参数的作业?像这样的东西会很好,但不允许:

JobDetail job = newJob( new PrintMessageJob("my message") );


谢谢

最佳答案

您必须执行以下操作。

JobDetail job = newJob(PrintMessageJob.class)
               .usingJobData("message", "my message")
               .build();

public class PrintMessageJob implements Job {

    public PrintMessageJob() {
    }

    public void execute(JobExecutionContext context) throws JobExecutionException
    {
        JobDataMap dataMap = context.getJobDetail().getJobDataMap();

        String message = dataMap.getString("message");
        ...
    }
}

09-25 21:29