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
方法的類的實例卻有多個,具體也就是每次任務執行的時候會構造一個。對象