使用maven 创建Quartz 任务示例_01
生活随笔
收集整理的這篇文章主要介紹了
使用maven 创建Quartz 任务示例_01
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 創建maven項目
- 2. 添加Quartz 依賴
- 3. 編寫Quartz配置文件
- 4. 編寫Job實現類
- 5. 編寫main函數,創建Scheduler
- 6. 創建JobDetail
- 7. 編寫Trigger,添加JobDetail
- 8. 啟動main函數,體驗Quartz定時任務
Quartz 支持集群,但不支持分布式,簡言之,一臺服務器上執行不同定時任務。
1. 創建maven項目
2. 添加Quartz 依賴
<!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz --><dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.3.2</version></dependency>3. 編寫Quartz配置文件
#配置任務調度器的實例名稱 org.quartz.scheduler.instanceName=MyScheduler#定義:配置線程池中的線程數量 #作用: 決定當前項中有多少個定時任務同時執行 #配置 3 代表這個項目可以同時執行3個定時任務 org.quartz.threadPool.threadCount=3#job存儲的類,有2種存儲方式 第1種存到內存 第2種存儲到數據庫 #這里先采用內存的存儲方式 org.quartz.jobStore.class=org.quartz.simpl.RAMJobStore4. 編寫Job實現類
package com.gblfy.job; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import java.time.LocalTime;public class MyJob implements Job {@Overridepublic void execute(JobExecutionContext context) throws JobExecutionException {LocalTime localTime = LocalTime.now();System.out.println("我正在執行" + localTime);} }5. 編寫main函數,創建Scheduler
//創建SchedulerScheduler scheduler = StdSchedulerFactory.getDefaultScheduler();scheduler.start();6. 創建JobDetail
//創建JobDetailJobDetail jobDetail = JobBuilder.newJob(MyJob.class)//唯一標識.withIdentity("jobDetail1", "group1").build();7. 編寫Trigger,添加JobDetail
//創建TriggerTrigger trigger = TriggerBuilder.newTrigger()//立即執行.startNow()//任務周期.withSchedule(SimpleScheduleBuilder.simpleSchedule()//間隔周期 單位s.withIntervalInSeconds(10)//一直執行.repeatForever()).build();//把jobDetail和trigger注冊到scheduler中 scheduler.scheduleJob(jobDetail, trigger);8. 啟動main函數,體驗Quartz定時任務
package com.gblfy;import com.gblfy.job.MyJob; import org.quartz.*; import org.quartz.impl.StdSchedulerFactory;public class QuartzStart {public static void main(String[] args) throws SchedulerException {//創建SchedulerScheduler scheduler = StdSchedulerFactory.getDefaultScheduler();scheduler.start();//創建JobDetailJobDetail jobDetail = JobBuilder.newJob(MyJob.class)//唯一標識.withIdentity("jobDetail1", "group1").build();//創建TriggerTrigger trigger = TriggerBuilder.newTrigger()//立即執行.startNow()//任務周期.withSchedule(SimpleScheduleBuilder.simpleSchedule()//間隔周期 單位s.withIntervalInSeconds(10)//一直執行.repeatForever()).build();//把jobDetail和trigger注冊到scheduler中scheduler.scheduleJob(jobDetail, trigger);try {Thread.sleep(60000);} catch (InterruptedException e) {e.printStackTrace();}scheduler.shutdown();} }
從第一次之后沒10s執行一次
總結
以上是生活随笔為你收集整理的使用maven 创建Quartz 任务示例_01的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RabbitMQ消息流转图
- 下一篇: Flowable 数据库表结构 ACT_