使用JobDataMap傳遞參數(shù)
如果想在任務(wù)的execute()方法實(shí)現(xiàn)中回去一些關(guān)于這個(gè)Job的一些信息,或者傳遞一些參數(shù)涡真,就可以使用JobDataMap。
JobDetail job = JobBuilder.newJob(DemoJob.class)
.withIdentity("myJob", "group1")
.usingJobData("strData", "Tom")
.usingJobData("intData", 15)
.build();
在構(gòu)建JobDetail的時(shí)候肾筐,使用usingJobData(key, value)方法提供的各種重載形式來加入一些自定義的參數(shù)哆料。這些參數(shù)可以在execute(JobExecutionContext jobExecutionContext)方法中取得,如下示例所示:
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
JobKey key = jobExecutionContext.getJobDetail().getKey();
JobDataMap dataMap = jobExecutionContext.getJobDetail().getJobDataMap();
String strData = dataMap.getString("strData");
int intData = dataMap.getInt("intData");
System.out.println("key : " + key);
System.out.println("strData : " + strData);
System.out.println("intData : " + intData);
}
運(yùn)行結(jié)果:
key : group1.myJob
strData : Tom
intData : 15