Quartz有状态和无状态

测试类:

	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都是新都实例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值