Quarz入門(一)

1708 ワード


public class QuartzReport implements Job {

	public void execute(JobExecutionContext cntxt) throws JobExecutionException {
		 System.out.println(" , ");
		 System.out.println( " Generating report -  "
                 +  cntxt.getJobDetail().getJobDataMap().get("type")
                 +  "-"
                 +   new  Date());
	}

}

public class TestJob {

	  public   static   void  main(String[] args)  {
	         try   {
	            SchedulerFactory schedFact  =   new  org.quartz.impl.StdSchedulerFactory();
	            Scheduler sched  =  schedFact.getScheduler();
	            sched.start();

	            JobDetail jobDetail  =   new  JobDetail( " Income Report " ,
	                     " Report Generation " , QuartzReport. class );

	            jobDetail.getJobDataMap().put("type" ,  " FULL " );
	            CronTrigger trigger  =   new  CronTrigger( " Income Report " ,
	                     " Report Generation " );
	             /*   1   */
	            trigger.setCronExpression( " 0 0/1 * * * ? " );
	            sched.scheduleJob(jobDetail, trigger);
	        }   catch  (Exception e)  {
	            e.printStackTrace();
	        }
	    }
}

SchedulerファクトリからSchedulerを取得し、JobDetailのJobなどの属性を設定し、ここでjobDetailがDetailDataMapを介してJobにパラメータを渡すことで対応するJobを実行できるように設定する.CronTriggerはトリガであり,いつトリガするかなどの情報を設定し,最後にSchedulerはタスクを設定する[JobDetail,Trigger]