菜鸟学堂 -【Java 定时器 二 -Quartz 】


说明:

前一个 菜鸟学堂 -【Java 定时器 】 发现一个问题:

TImer 启动后,你再去修改pc的时间,timer里面的时间是不受影响的,timer是以启动时的时间为准。


那么必须要使用很多人推荐的Quartz了


JOB类:定期执行的任务类,也就是你要做的任务,放在这个类里面

public class Myjob implements Job{

	public Myjob() {
		System.out.println(123);
	}
	
	@Override
	public void execute(JobExecutionContext arg0) throws JobExecutionException {

		 System.out.println("Hello World! - " + new Date());
	}

}

JOB启动类:每隔10秒中执行一次。

JobDetail:详细的job,就是任务job,需要给一个名称和组,

将job加入到日程当中,开启这个日程。

如果多有job要执行,则建立多个job,都add到日程中就可以了。

public class Cron {

	
	public static void main(String[] args) {
		
	     try {
	    	 
	    	SchedulerFactory sf = new StdSchedulerFactory();
		
	    	Scheduler sched = sf.getScheduler();
	    	
	    	String jobName = "job1";
	    	String groupName = "group1";
	    	String triggerName = "trigger1";
	    	
	    	JobDetail job = new JobDetail(jobName, groupName, Myjob.class);
	    	
//	        Seconds
//	        Minutes
//	        Hours
//	        Day-of-Month
//	        Month
//	        Day-of-Week
//	        Year (optional field)

	    	CronTrigger trigger = new CronTrigger(triggerName, groupName, jobName,
	    			groupName, "/10 * * * * ?");
	    	
	        sched.addJob(job, true);
	         
	        Date ft = sched.scheduleJob(trigger);
	        System.out.println(job.getFullName()+"马上启动了--"+ft);
	        sched.start();

	     } catch (Exception e) {
			e.printStackTrace();
		}
	}
}

输出:

2012-04-05 15:02:14,640 INFO [org.quartz.impl.StdSchedulerFactory] - Using default implementation for ThreadExecutor
2012-04-05 15:02:14,640 INFO [org.quartz.simpl.SimpleThreadPool] - Job execution threads will use class loader of thread: main
2012-04-05 15:02:14,687 INFO [org.quartz.core.SchedulerSignalerImpl] - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
2012-04-05 15:02:14,703 INFO [org.quartz.core.QuartzScheduler] - Quartz Scheduler v.1.8.6 created.
2012-04-05 15:02:14,718 INFO [org.quartz.simpl.RAMJobStore] - RAMJobStore initialized.
2012-04-05 15:02:14,718 INFO [org.quartz.core.QuartzScheduler] - Scheduler meta-data: Quartz Scheduler (v1.8.6) 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED'
  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
  NOT STARTED.
  Currently in standby mode.
  Number of jobs executed: 0
  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.

2012-04-05 15:02:14,718 INFO [org.quartz.impl.StdSchedulerFactory] - Quartz scheduler 'DefaultQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties'
2012-04-05 15:02:14,718 INFO [org.quartz.impl.StdSchedulerFactory] - Quartz scheduler version: 1.8.6
group1.job1马上启动了--Thu Apr 05 15:02:20 CST 2012
2012-04-05 15:02:14,812 INFO [org.quartz.core.QuartzScheduler] - Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
123
Hello World! - Thu Apr 05 15:02:20 CST 2012
123
Hello World! - Thu Apr 05 15:02:30 CST 2012
123
Hello World! - Thu Apr 05 15:02:40 CST 2012
123
Hello World! - Thu Apr 05 15:02:50 CST 2012
123
Hello World! - Thu Apr 05 15:03:00 CST 2012
123
Hello World! - Thu Apr 05 15:03:10 CST 2012
123
Hello World! - Thu Apr 05 15:03:20 CST 2012
123
Hello World! - Thu Apr 05 15:03:30 CST 2012
123
Hello World! - Thu Apr 05 15:03:40 CST 2012
123
Hello World! - Thu Apr 05 15:03:50 CST 2012
123
Hello World! - Thu Apr 05 15:04:00 CST 2012
123
Hello World! - Thu Apr 05 15:04:10 CST 2012
123
Hello World! - Thu Apr 05 15:04:20 CST 2012
123
Hello World! - Thu Apr 05 15:04:30 CST 2012


发现JOB任务每次都会初始化,注意咯!



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值