定時器(Quartz)簡單實例

參考:

https://my.oschina.net/Barudisshu/blog/294272

http://www.quartz-scheduler.org/documentation/quartz-2.2.x/tutorials/tutorial-lesson-06.html

概念性的內容請查看上面鏈接,我這裏不再贅述。只是實現一個小例子。

1、引入jar包

 

<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency>


 

2、寫JOB類
package quartz;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class TestJob implements Job {
	 SimpleDateFormat DateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
	    Date d = new Date();  
	    String returnstr = DateFormat.format(d);    
	  
	    public void execute(JobExecutionContext arg0) throws JobExecutionException {  
	        // TODO Auto-generated method stub  
	    	 System.out.println("Hello World! - " + new Date());  
	    }  

}


3、啓動類

package quartz;

import static org.quartz.CronScheduleBuilder.cronSchedule;
import static org.quartz.TriggerBuilder.newTrigger;

import java.text.ParseException;

import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.Trigger;
import org.quartz.impl.StdSchedulerFactory;
/**
 * Quartz中提供了兩種觸發器,分別是CronTrigger和SimpleTrigger。
 * 具體用法參考參考文章
 *
 */
public class QuartzTest {
    public static void main(String args[]) throws SchedulerException, ParseException {
        JobDetail jobDetail= JobBuilder.newJob(TestJob.class)
                .withIdentity("testJob_1","group_1")
                .build();
//SimpleTrigger
//        Trigger trigger= TriggerBuilder
//                .newTrigger()
//                .withIdentity("trigger_1","group_1")
//                .withSchedule(SimpleScheduleBuilder.simpleSchedule()
//                        .withIntervalInSeconds(10) //時間間隔                        
//                        .withRepeatCount(5)        //重複次數(將執行6次)
//                        )
//                .build();
        //CronTrigger
        Trigger trigger = newTrigger()
        	    .withIdentity("trigger_1", "group1")
        	    .withSchedule(cronSchedule("0/3 0/2 8-17 * * ?"))
//        	    .forJob("testJob_1", "group1")
        	    .build();
        SchedulerFactory sf = new StdSchedulerFactory();
        Scheduler sched = sf.getScheduler();

        sched.scheduleJob(jobDetail,trigger);

        sched.start();

    }
}


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章