Quartz簡單實例


Quartz中提供了兩種觸發器,分別是CronTrigger和SimpleTrigger。

1. SimpleTrigger

每隔若干毫秒來觸發納入進度的任務。

2. CronTrigger

在特定“格林日歷”時刻觸發納入進程的任務。

調度程序如下:

public class TestQuartz {
    public void myTask() throws Exception
    {
        String tim = FileProperties.getMyProperty("Socket_TIM_ZZH");
        System.out.println(tim);
        //定時器任務定義
        Scheduler scheduler = new StdSchedulerFactory().getScheduler();
        scheduler.start();
        //定時器任務
        JobDetail testJob = new JobDetail("testJob", Scheduler.DEFAULT_GROUP, TestTask.class);
//CronTrigger觸發器
//Trigger trigger = new CronTrigger("testCronTrigger", Scheduler.DEFAULT_GROUP, tim.trim()); //結束時間 long end = System.currentTimeMillis() + 9000L; //執行10次,每3秒執行一次,到9秒后結束 SimpleTrigger trigger = new SimpleTrigger("test",null,new Date(),new Date(end),10,3000L); // 定時器任務監聽 scheduler.scheduleJob(testJob, trigger); } }

任務執行程序如下:

public class TestTask extends Thread implements Job{
    //private static Logger logger = Logger.getLogger(TestTask.class.getName());
    private static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    private Date today = null;
    public TestTask()
    {
        Calendar rightNow   =   Calendar.getInstance();
        rightNow.add(Calendar.DATE,-1);
        this.today = rightNow.getTime();
    }

    @Override
    public void execute(JobExecutionContext arg0) throws JobExecutionException {
        try {
            System.out.println("testTask:" + format.format(this.today) + "------------------------------------");
            //logger.info("testTask:" + format.format(this.today) + "------------------------------------");
        } catch (Exception e) {
            e.printStackTrace();
            //logger.error("error:" + e.getMessage());
        }

    }
}

main函數:

public static void main(String[] args)
    {
        try {
             TestQuartz testQuartz = new TestQuartz();
             testQuartz.myTask();
        }catch(Exception e)
        {
            e.printStackTrace();
        }
    }

除了引入quartz包,還要使用Commons-logging.jar

 

另一種方式:https://www.cnblogs.com/ll409546297/p/7157702.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM