【发布时间】:2019-04-22 18:17:09
【问题描述】:
我正在阅读 Quartz documentation 并试图了解我可以通过 Job 实例方法而不是类。
例如,如果我需要编写类:
public class MyJobClass implements Job {
public MyJobClass() {
// Instances of Job must have a public no-argument constructor.
}
public void execute(JobExecutionContext context)
throws JobExecutionException {
JobDataMap data = context.getMergedJobDataMap();
System.out.println("someProp = " + data.getString("someProp"));
}
}
并定义一个作业实例,例如:
JobDetail job1 = newJob(MyJobClass.class) // what about method here
.withIdentity("job1", "group1")
.usingJobData("someProp", "someValue")
.build();
按照同样的原则,我尝试定义作业实例传递方法,如:
// define the job
JobDetail job = newJob(testMethod())
.withIdentity("job1", "group1")
.build();
方法如下:
private Class<? extends Job> testMethod() {
//...
return null;
}
但我得到了错误:
java.lang.IllegalArgumentException: Job class cannot be null.
【问题讨论】:
标签: java quartz-scheduler quartz