测试类:
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
JobDetail jobDetail = new JobDetail("myJob", Scheduler.DEFAULT_GROUP,
TestJob.class);
jobDetail.getJobDataMap().put("count", 0);
CronTrigger trigger = new CronTrigger("crontrigger",
Scheduler.DEFAULT_GROUP, "* * * * * ?");
scheduler.scheduleJob(jobDetail, trigger);
scheduler.start();
}
实现Job接口:
public class TestJob implements Job {
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
// TODO Auto-generated method stub
int count =arg0.getJobDetail().getJobDataMap().getInt("count");
arg0.getJobDetail().getJobDataMap().put("count", ++count);
System.out.println(count+"、 Hello world "+this+"\n");
}
}
结果:
1、 Hello world org.han.jobs.TestJob@5e5a50
1、 Hello world org.han.jobs.TestJob@7b6889
1、 Hello world org.han.jobs.TestJob@bd928a
1、 Hello world org.han.jobs.TestJob@1f78ef1
1、 Hello world org.han.jobs.TestJob@1c9a690
实现StatefulJob接口结果为:
1、 Hello world org.han.jobs.TestJob@5e5a50
2、 Hello world org.han.jobs.TestJob@7b6889
3、 Hello world org.han.jobs.TestJob@134a7d8
4、 Hello world org.han.jobs.TestJob@c88440
5、 Hello world org.han.jobs.TestJob@62937c
再修改下:
public class TestJob implements StatefulJob {
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
// TODO Auto-generated method stub
int count =arg0.getTrigger().getJobDataMap().getInt("count");
arg0.getTrigger().getJobDataMap().put("count", ++count);
System.out.println(count+"、 Hello world "+this+"\n");
}
}
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
JobDetail jobDetail = new JobDetail("myJob", Scheduler.DEFAULT_GROUP,
TestJob.class);
CronTrigger trigger = new CronTrigger("crontrigger",
Scheduler.DEFAULT_GROUP, "* * * * * ?");
trigger.getJobDataMap().put("count", 0);
scheduler.scheduleJob(jobDetail, trigger);
scheduler.start();
}
结果为:
1、 Hello world org.han.jobs.TestJob@7b6889
1、 Hello world org.han.jobs.TestJob@c2ff5
1、 Hello world org.han.jobs.TestJob@1f78ef1
1、 Hello world org.han.jobs.TestJob@62937c
1、 Hello world org.han.jobs.TestJob@1c0e45a
所以Job的状态是指任务的描述的状态,Job都是新都实例