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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Springboot整合quartz实现定时任务(基本配置)

發(fā)布時(shí)間:2025/5/22 javascript 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Springboot整合quartz实现定时任务(基本配置) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
//定義相關(guān)配置 @Configuration @EnableScheduling public class QuartzConfig {@Autowiredprivate SpringJobFactory springJobFactory;//讀取quartz的屬性文件(自己的工程存在dev或者test及其他配置文件,到哪個(gè)臺讀取指定名稱的配置文件)@Value("${config}")private String configName;@Bean("schedulerFactoryBean")public SchedulerFactoryBean schedulerFactoryBean(@Qualifier("quartzProperties") Properties properties) throws SchedulerException {SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean();schedulerFactoryBean.setQuartzProperties(properties);schedulerFactoryBean.setJobFactory(springJobFactory);schedulerFactoryBean.setWaitForJobsToCompleteOnShutdown(true);return schedulerFactoryBean;}@Beanpublic Properties quartzProperties() throws IOException {PropertiesFactoryBean propertiesFactoryBean = new PropertiesFactoryBean();propertiesFactoryBean.setLocation(new ClassPathResource(configName));propertiesFactoryBean.afterPropertiesSet();return propertiesFactoryBean.getObject();} }定義quartz的任務(wù)工廠(由于quartz與spring都有自己的所屬的容器) @Component public class SpringJobFactory extends AdaptableJobFactory {@Autowiredprivate AutowireCapableBeanFactory capableBeanFactory;@Overrideprotected Object createJobInstance(TriggerFiredBundle bundle) throws Exception {Object jobInstance = super.createJobInstance(bundle);capableBeanFactory.autowireBean(jobInstance);return jobInstance;} }復(fù)制代碼quartz.properties的配置詳情 #ThreadPool 線程池屬性 org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool org.quartz.threadPool.threadCount=15 org.quartz.threadPool.threadPriority=5# Configure JobStore #使用數(shù)據(jù)庫作為quartz的持久化 org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate org.quartz.jobStore.tablePrefix=QRTZ_ org.quartz.jobStore.dataSource=myDS#容忍任務(wù)遺漏時(shí)間 org.quartz.jobStore.misfireThreshold=5000 org.quartz.dataSource.myDS.driver=com.mysql.jdbc.Driver org.quartz.dataSource.myDS.URL=jdbc:mysql://local:3306/quartz?useSSL=false&characterEncoding=utf-8&serverTimezone=Hongkong&autoReconnect=true org.quartz.dataSource.myDS.user=root org.quartz.dataSource.myDS.password=root org.quartz.dataSource.myDS.test-while-idle=true org.quartz.dataSource.myDS.test-on-borrow=true org.quartz.dataSource.myDS.test-on-return=true org.quartz.dataSource.myDS.time-between-eviction-runs-millis=300000 org.quartz.dataSource.myDS.validation-query=select 1#config pluign org.quartz.plugin.triggHistory.class=org.quartz.plugins.history.LoggingTriggerHistoryPlugin org.quartz.plugin.triggHistory.triggerFiredMessage=Trigger {1}.{0} fired job {6}.{5} at: {4, date, HH:mm:ss MM/dd/yyyy} org.quartz.plugin.triggHistory.triggerCompleteMessage=Trigger {1}.{0} completed firing job {6}.{5} at {4, date, HH:mm:ss MM/dd/yyyy} with resulting trigger instruction code: {9} org.quartz.plugin.shutdownhook.class=org.quartz.plugins.management.ShutdownHookPlugin org.quartz.plugin.shutdownhook.cleanShutdown=true復(fù)制代碼

接著實(shí)現(xiàn)Job接口定義自己的任務(wù)

將業(yè)務(wù)邏輯定義在execute方法中就行了

@Component //避免并發(fā)執(zhí)行(重要注解) @DisallowConcurrentExecution public class SchedulerJob implements Job 以下是quartz基于數(shù)據(jù)庫持久化的相關(guān)sql復(fù)制代碼-- ---------------------------- -- Table structure for qrtz_blob_triggers -- ---------------------------- DROP TABLE IF EXISTS `qrtz_blob_triggers`; CREATE TABLE `qrtz_blob_triggers` (`SCHED_NAME` varchar(80) NOT NULL,`TRIGGER_NAME` varchar(100) NOT NULL,`TRIGGER_GROUP` varchar(100) NOT NULL,`BLOB_DATA` blob,PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ---------------------------- -- Table structure for qrtz_calendars -- ---------------------------- DROP TABLE IF EXISTS `qrtz_calendars`; CREATE TABLE `qrtz_calendars` (`SCHED_NAME` varchar(80) NOT NULL,`CALENDAR_NAME` varchar(100) NOT NULL,`CALENDAR` blob NOT NULL,PRIMARY KEY (`SCHED_NAME`,`CALENDAR_NAME`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ---------------------------- -- Table structure for qrtz_cron_triggers -- ---------------------------- DROP TABLE IF EXISTS `qrtz_cron_triggers`; CREATE TABLE `qrtz_cron_triggers` (`SCHED_NAME` varchar(80) NOT NULL,`TRIGGER_NAME` varchar(100) NOT NULL,`TRIGGER_GROUP` varchar(100) NOT NULL,`CRON_EXPRESSION` varchar(100) NOT NULL,`TIME_ZONE_ID` varchar(80) DEFAULT NULL,PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ---------------------------- -- Table structure for qrtz_fired_triggers -- ---------------------------- DROP TABLE IF EXISTS `qrtz_fired_triggers`; CREATE TABLE `qrtz_fired_triggers` (`SCHED_NAME` varchar(80) NOT NULL,`ENTRY_ID` varchar(95) NOT NULL,`TRIGGER_NAME` varchar(100) NOT NULL,`TRIGGER_GROUP` varchar(100) NOT NULL,`INSTANCE_NAME` varchar(100) NOT NULL,`FIRED_TIME` bigint(13) NOT NULL,`SCHED_TIME` bigint(13) NOT NULL,`PRIORITY` int(11) NOT NULL,`STATE` varchar(16) NOT NULL,`JOB_NAME` varchar(100) DEFAULT NULL,`JOB_GROUP` varchar(100) DEFAULT NULL,`IS_NONCONCURRENT` varchar(1) DEFAULT NULL,`REQUESTS_RECOVERY` varchar(1) DEFAULT NULL,PRIMARY KEY (`SCHED_NAME`,`ENTRY_ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ---------------------------- -- Table structure for qrtz_job_details -- ---------------------------- DROP TABLE IF EXISTS `qrtz_job_details`; CREATE TABLE `qrtz_job_details` (`SCHED_NAME` varchar(80) NOT NULL,`JOB_NAME` varchar(100) NOT NULL,`JOB_GROUP` varchar(100) NOT NULL,`DESCRIPTION` varchar(100) DEFAULT NULL,`JOB_CLASS_NAME` varchar(100) NOT NULL,`IS_DURABLE` varchar(1) NOT NULL,`IS_NONCONCURRENT` varchar(1) NOT NULL,`IS_UPDATE_DATA` varchar(1) NOT NULL,`REQUESTS_RECOVERY` varchar(1) NOT NULL,`JOB_DATA` blob,PRIMARY KEY (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ---------------------------- -- Table structure for qrtz_locks -- ---------------------------- DROP TABLE IF EXISTS `qrtz_locks`; CREATE TABLE `qrtz_locks` (`SCHED_NAME` varchar(80) NOT NULL,`LOCK_NAME` varchar(40) NOT NULL,PRIMARY KEY (`SCHED_NAME`,`LOCK_NAME`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ---------------------------- -- Table structure for qrtz_paused_trigger_grps -- ---------------------------- DROP TABLE IF EXISTS `qrtz_paused_trigger_grps`; CREATE TABLE `qrtz_paused_trigger_grps` (`SCHED_NAME` varchar(80) NOT NULL,`TRIGGER_GROUP` varchar(100) NOT NULL,PRIMARY KEY (`SCHED_NAME`,`TRIGGER_GROUP`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ---------------------------- -- Table structure for qrtz_scheduler_state -- ---------------------------- DROP TABLE IF EXISTS `qrtz_scheduler_state`; CREATE TABLE `qrtz_scheduler_state` (`SCHED_NAME` varchar(80) NOT NULL,`INSTANCE_NAME` varchar(100) NOT NULL,`LAST_CHECKIN_TIME` bigint(13) NOT NULL,`CHECKIN_INTERVAL` bigint(13) NOT NULL,PRIMARY KEY (`SCHED_NAME`,`INSTANCE_NAME`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ---------------------------- -- Table structure for qrtz_simple_triggers -- ---------------------------- DROP TABLE IF EXISTS `qrtz_simple_triggers`; CREATE TABLE `qrtz_simple_triggers` (`SCHED_NAME` varchar(80) NOT NULL,`TRIGGER_NAME` varchar(100) NOT NULL,`TRIGGER_GROUP` varchar(100) NOT NULL,`REPEAT_COUNT` bigint(7) NOT NULL,`REPEAT_INTERVAL` bigint(12) NOT NULL,`TIMES_TRIGGERED` bigint(10) NOT NULL,PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ---------------------------- -- Table structure for qrtz_simprop_triggers -- ---------------------------- DROP TABLE IF EXISTS `qrtz_simprop_triggers`; CREATE TABLE `qrtz_simprop_triggers` (`SCHED_NAME` varchar(80) NOT NULL,`TRIGGER_NAME` varchar(100) NOT NULL,`TRIGGER_GROUP` varchar(100) NOT NULL,`STR_PROP_1` varchar(120) DEFAULT NULL,`STR_PROP_2` varchar(120) DEFAULT NULL,`STR_PROP_3` varchar(120) DEFAULT NULL,`INT_PROP_1` int(11) DEFAULT NULL,`INT_PROP_2` int(11) DEFAULT NULL,`LONG_PROP_1` bigint(20) DEFAULT NULL,`LONG_PROP_2` bigint(20) DEFAULT NULL,`DEC_PROP_1` decimal(13,4) DEFAULT NULL,`DEC_PROP_2` decimal(13,4) DEFAULT NULL,`BOOL_PROP_1` varchar(1) DEFAULT NULL,`BOOL_PROP_2` varchar(1) DEFAULT NULL,PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ---------------------------- -- Table structure for qrtz_triggers -- ---------------------------- DROP TABLE IF EXISTS `qrtz_triggers`; CREATE TABLE `qrtz_triggers` (`SCHED_NAME` varchar(80) NOT NULL,`TRIGGER_NAME` varchar(100) NOT NULL,`TRIGGER_GROUP` varchar(100) NOT NULL,`JOB_NAME` varchar(100) NOT NULL,`JOB_GROUP` varchar(100) NOT NULL,`DESCRIPTION` varchar(100) DEFAULT NULL,`NEXT_FIRE_TIME` bigint(13) DEFAULT NULL,`PREV_FIRE_TIME` bigint(13) DEFAULT NULL,`PRIORITY` int(11) DEFAULT NULL,`TRIGGER_STATE` varchar(16) NOT NULL,`TRIGGER_TYPE` varchar(8) NOT NULL,`START_TIME` bigint(13) NOT NULL,`END_TIME` bigint(13) DEFAULT NULL,`CALENDAR_NAME` varchar(100) DEFAULT NULL,`MISFIRE_INSTR` smallint(2) DEFAULT NULL,`JOB_DATA` blob,PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`),KEY `SCHED_NAME` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`),CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;復(fù)制代碼


《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的Springboot整合quartz实现定时任务(基本配置)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美日本韩国 | 久久精品一区二区三区不卡牛牛 | 国产精品日韩欧美一区二区三区 | 亚洲久久一区 | 亚洲精品福利视频 | 国产精品国产精品国产专区蜜臀ah | 午夜操操| 日本久草视频 | 嫩草嫩草嫩草嫩草嫩草 | 国产乱码视频 | 日韩久久一级片 | 中文字幕+乱码+中文 | 激情文学久久 | 在线观看国产黄色 | 色噜噜狠狠一区二区三区果冻 | 波多野结衣亚洲 | 欧美不卡高清 | 亚洲天堂自拍 | 久久综合九色 | 91美女啪啪 | 一区二区在线观看免费视频 | 狼人久久 | 国产女主播喷水视频在线观看 | 不卡成人 | 动漫av一区二区三区 | 朱竹清到爽高潮痉挛 | 日韩精品久久久久久久的张开腿让 | 深夜福利国产 | 免费看一级 | 国产99视频在线观看 | 欧美亚洲国产成人 | 一级福利视频 | 香蕉av在线播放 | 裸体美女免费视频网站 | 色吧综合网 | 特级性生活片 | 久草热在线 | 免费久久 | 东南亚毛片 | 久久久久久久国产精品美女 | 91在线精品入口 | 亚洲社区一区二区 | 国产精品久久久久久久午夜 | 国产精品一区二区精品 | 国产成人一区二区三区影院在线 | 色夜av| 性感美女黄色片 | 9色av | 黄色九九| 日韩高清在线 | 亚洲淫| v天堂在线 | 成人h动漫在线 | 精品人妻人伦一区二区有限公司 | 在线日本中文字幕 | 黄色香蕉网站 | 麻豆国产精品777777在线 | 日韩在线小视频 | 人人av在线 | 麻豆影视免费观看 | 免费看a毛片 | 夜夜嗨av禁果av粉嫩av懂色av | 国产区视频 | 爱情岛论坛亚洲入口 | 成人精品亚洲人成在线 | 男女爽爽 | 99热在线观看精品 | 鲁片一区二区三区 | 亚洲资源站 | 老司机在线精品视频 | 亚洲春色在线观看 | 黑人添美女bbb添高潮了 | 人人澡超碰碰97碰碰碰 | 久久久久亚洲AV成人网人人小说 | 成人黄色在线视频 | 91国内精品视频 | 欧美午夜久久久 | 啪啪网站免费看 | 欧美日本在线播放 | 青娱乐在线视频免费观看 | 秋霞午夜鲁丝一区二区老狼 | 狠狠欧美 | 天堂少妇 | 91精品国自产在线 | 日韩精品一区二区视频 | 奇米网888| 手机看片1024久久 | 男人撒尿视频xvideos | 国产精品福利一区二区三区 | 综合精品视频 | 激情视频一区二区 | αv在线 | 免费av在| 特级西西人体wwwww | 一极黄色大片 | 国产国语videosex另类 | 亚洲熟妇无码av | 女人洗澡一级特黄毛片 | 国产精品视频麻豆 |