JobDetail job1 = newJob(MyJob.class).withIdentity("job1", "group1").build();
newJob
方法其实返回一个JobBuilder
实例,经过调用JobBuilder
的方法配置任务属性,最后调用build
方法返回构造的任务实例(任务实例实现了JobDetail
)。java
每一个任务其实都是一个实现了JobDetail
接口的实例,这个实例每次执行都会根据当初构造它的JobBuilder
配置的Class对象构造出一个新的实例。ui
JobDetail
接口有个getJobDataMap
方法能返回一个JobDataMap
对象,这个对象实现了Map接口。能够用来传递信息给Jobspa
JobDataMap map = job1.getJobDataMap(); map.put("key", "value");
Job中如何拿到这些数据:经过Job
接口的execute
方法参数能获取到,若Job.execute(JobExecutionContext context){}
则:code
JobDataMap map = context.getJobDetail().getJobDataMap(); System.out.println(map.get("key"))
JobDetail
只有一个,而实现Job
接口的带execute
方法的类的实例却有多个,具体也就是每次任务执行的时候会构造一个。对象