quartz実行時間のテスト

1858 ワード

quartzのtrigger時間は「毎秒1回実行」です.
QuartzManager.addJob(jobName, job, "0/1 * * * * ?");

 
jobの実行時間は「毎回30秒」
public void execute(JobExecutionContext jobExecutionContext)
			throws JobExecutionException {

		System.out.println(value + "_" + Thread.currentThread().getName()
				+ "__" + hashCode() + ", :" + new Date());

		try {
			// 30 
			Thread.sleep(30L * 1000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}

 
quartzの構成で、スレッドプールには1つのスレッドしかありません.
org.quartz.threadPool.threadCount = 1

 
実際のテスト結果:
【 】
2013-1-25 9:25:55 org.quartz.simpl.SimpleThreadPool initialize
 : Job execution threads will use class loader of thread: main
2013-1-25 9:25:55 org.quartz.core.QuartzScheduler <init>
 : Quartz Scheduler v.1.5.2 created.
2013-1-25 9:25:55 org.quartz.simpl.RAMJobStore initialize
 : RAMJobStore initialized.
2013-1-25 9:25:55 org.quartz.impl.StdSchedulerFactory instantiate
 : Quartz scheduler 'DefaultQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties'
2013-1-25 9:25:55 org.quartz.impl.StdSchedulerFactory instantiate
 : Quartz scheduler version: 1.5.2
2013-1-25 9:25:55 org.quartz.core.QuartzScheduler start
 : Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
aaaa_DefaultQuartzScheduler_Worker-0__821556544, :Fri Jan 25 09:25:55 CST 2013
aaaa_DefaultQuartzScheduler_Worker-0__1139773783, :Fri Jan 25 09:26:25 CST 2013


 
毎秒実行するのではなく、30秒ごとに実行します.
 
経験:
1.「スケジュール」は「実行」とは別に、「メッセージキュー」を添付する