黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Quartz一個Java定時任務(wù)框架

Quartz一個Java定時任務(wù)框架

更新時間:2022-08-29 11:01:46 來源:動力節(jié)點 瀏覽1478次

Quartz是一個定時器框架,你可以在java中使用它來做什么?

比如,每天00.00.00時服務(wù)器刷新緩存,清除過期數(shù)據(jù),或者每逢節(jié)假日,固定給用戶發(fā)送祝福信息提醒。

話不多說,先下載jar包:

 // Timer quartz
compile group: 'org.quartz-scheduler', name: 'quartz', version: '2.3.0'

那么核心代碼如下:

package job;
import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Rock-Ayl 2019-4-30
* This is to register and implement quartz The timing management task of the framework class, There are two ways to set up scheduled tasks
* <p>
* 1:- Simple timer implementation : Use a simple schedule generator . Set the task . Every how many hours (1). There is no limit to the number of times ;
* <p>
* 2:corn Expression implementation corn Expressions are similar to regular expressions , You can call it Time regular expression eg: '0 0 0 * * ?' : ' Every day 0 Click to execute once '
* <p>
*/
public class Scheduler {
protected static Logger logger = LoggerFactory.getLogger(Scheduler.class);
// Static scheduler , from FileServer The default startup
public static org.quartz.Scheduler instance;
// Storage Work task & Mission conditions Object's list
protected static List<ScheduleTask> tasks = new ArrayList();
// Simple implementation : Every hour
private static final SimpleScheduleBuilder simpleScheduleBuilder = SimpleScheduleBuilder.simpleSchedule().withIntervalInHours(1).repeatForever();
//cron: Every day 0 Click to execute once
private static final CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule("0 0 0 * * ?");
//Task class , Deposit job and trigger
static class ScheduleTask {
public JobDetail job;
public Trigger trigger;
public ScheduleTask(JobDetail job, Trigger trigger) {
this.job = job;
this.trigger = trigger;
}
}
// Register the print timer - Simple timer implementation
private static void registerPrintJob() {
String jobName = "PrintJob";
String jobGroup = "file";
JobDetail job = JobBuilder.newJob(PrintJob.class).withIdentity(jobName, jobGroup).build();
Trigger trigger = TriggerBuilder.newTrigger().withIdentity(jobName, jobGroup).startNow().withSchedule(simpleScheduleBuilder).build();
tasks.add(new ScheduleTask(job, trigger));
}
// start-up Scheduler
public static void startup() {
try {
instance = StdSchedulerFactory.getDefaultScheduler();
// Start registration to list
registerPrintJob();
for (ScheduleTask task : tasks) {
instance.scheduleJob(task.job, task.trigger);
}
instance.start();
logger.info(">>>file scheduler start.");
} catch (SchedulerException se) {
logger.error(" Work scheduler startup error :" + se.getMessage(), se);
}
}
// close Scheduler
public static void stop() {
try {
instance.shutdown();
} catch (Exception e) {
logger.error(" Work scheduler shutdown error [{}]", e);
}
}
}

業(yè)務(wù)層:

package job;
import org.quartz.DisallowConcurrentExecution;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
/**
* Created by Rock-Ayl 2019-5-10
* Printing tasks demo
*/
@DisallowConcurrentExecution
public class PrintJob implements Job {
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
System.out.println(" Perform timer tasks ing...");
}
}

寫完這兩個代碼后,你就可以簡單地運行它們了。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 天天操伊人| 91精品欧美| 在线看欧美日韩中文字幕 | 性香港xxxxx免费视频播放 | 黄色一级录像 | 国产亚洲综合成人91精品 | 欧美黑人粗暴另类多交 | 美女国内精品自产拍在线播放 | 精品国产一区二区三区不卡在线 | 黄色私人影院 | 亚洲精品1区 | 大学生高清一级毛片免费 | 欧美线在线精品观看视频 | 欧美亚洲日本在线 | 高清性色生活片a | 在线色网| 国产亚洲欧美另类一区二区三区 | 中国黄色网址 | 久久久久久精 | 亚洲国产成人久久一区久久 | 久久在现 | 免费看黄视频网站 | 国产看片一区二区三区 | 亚洲欧美视屏 | 久久精品九九亚洲精品天堂 | 久久天天躁狠狠躁夜夜2020一 | 亚洲欧美日韩成人一区在线 | 色播视频在线播放 | 最新99国产成人精品视频免费 | 乱亲h女 小说 | 99re在线视频免费观看 | 精品午夜寂寞黄网站在线 | 日日夜夜精品视频 | 久久精品视频网站 | 一级视频在线播放 | 日韩系列在线 | 精品精拍国产日韩26u | 中文字幕日本不卡一二三区 | 日本欧美色图 | 特级深夜a级毛片免费观看 特级中国aaa毛片 | 黄色特级网站 |