日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Quartz 2 Scheduler示例

發布時間:2023/12/3 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Quartz 2 Scheduler示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Quartz是一個開源作業調度框架。 它可用于管理和計劃應用程序中的作業。

步驟1:建立已完成的專案

創建一個Maven項目,如下所示。 (可以使用Maven或IDE插件來創建它)。

步驟2:圖書館

Quartz依賴項已添加到Maven的pom.xml中。 這些依賴庫將由Maven Central Repository下載。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>OTV_Quartz</groupId><artifactId>OTV_Quartz</artifactId><version>0.0.1-SNAPSHOT</version><dependencies><!-- Quartz library --><dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.0.2</version></dependency> <!-- Log4j library --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.16</version></dependency> </dependencies></project>

步驟3:建立新工作

通過實現如下所示的Quartz Job接口創建一個新的Job。 TestJob類指定將要安排的業務邏輯。

package com.otv.job;import org.apache.log4j.Logger; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException;public class TestJob implements Job {private Logger log = Logger.getLogger(TestJob.class);public void execute(JobExecutionContext jExeCtx) throws JobExecutionException {log.debug("TestJob run successfully...");}}

步驟4:將工作與工作細節對象關聯

創建的TestJob類與JobDetail對象鏈接。

JobDetail job = JobBuilder.newJob(TestJob.class).withIdentity("testJob").build();

第5步:創建新觸發器

如下創建一個新的觸發器。 觸發器類別指定將要計劃的作業的運行周期。 石英觸發器有兩種:

觸發器 指定作業的開始時間,結束時間,運行時間。

CronTrigger 根據Unix cron表達式指定作業的開始時間,結束時間,運行時間。

//Trigger the job to run on the next round minute Trigger trigger = TriggerBuilder.newTrigger().withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(30).repeatForever()).build();// CronTrigger the job to run on the every 20 seconds CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity("crontrigger","crontriggergroup1").withSchedule(CronScheduleBuilder.cronSchedule("10 * * * * ?")).build();

步驟6:建立SchedulerFactory

創建一個新的SchedulerFactory并從SchedulerFactory類獲取一個Scheduler對象。

SchedulerFactory schFactory = new StdSchedulerFactory(); Scheduler sch = schFactory.getScheduler();

步驟7:啟動排程器

調度程序對象已啟動。

// Start the schedule sch.start();

步驟8:安排工作

已安排TestJob:

// Tell quartz to schedule the job using the trigger sch.scheduleJob(job, trigger);

步驟9:完整示例

TestJob將每分鐘運行兩次。

package com.otv;import org.quartz.JobBuilder; import org.quartz.JobDetail; import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.SchedulerFactory; import org.quartz.SimpleScheduleBuilder; import org.quartz.Trigger; import org.quartz.TriggerBuilder; import org.quartz.impl.StdSchedulerFactory;import com.otv.job.TestJob;/** * @author onlinetechvision.com * @since 17 Sept 2011 * @version 1.0.0 * */ public class JobScheduler {public static void main(String[] args) {try {// specify the job' s details..JobDetail job = JobBuilder.newJob(TestJob.class).withIdentity("testJob").build();// specify the running period of the jobTrigger trigger = TriggerBuilder.newTrigger().withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(30).repeatForever()).build();//schedule the jobSchedulerFactory schFactory = new StdSchedulerFactory();Scheduler sch = schFactory.getScheduler();sch.start();sch.scheduleJob(job, trigger);} catch (SchedulerException e) {e.printStackTrace();}}}

步驟10:輸出

運行JobScheduler Class時,輸出將如下所示:

17.09.2011 23:39:37 DEBUG (TestJob.java:13) - TestJob run successfully... 17.09.2011 23:40:07 DEBUG (TestJob.java:13) - TestJob run successfully... 17.09.2011 23:40:37 DEBUG (TestJob.java:13) - TestJob run successfully... 17.09.2011 23:41:07 DEBUG (TestJob.java:13) - TestJob run successfully...

步驟11:下載

  • OTV_Quartz_Project

參考: 在線技術愿景博客上的JCG合作伙伴 Eren Avsarogullari的Quartz 2 Scheduler 。

翻譯自: https://www.javacodegeeks.com/2012/07/quartz-2-scheduler-example.html

總結

以上是生活随笔為你收集整理的Quartz 2 Scheduler示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。