博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Boot+Quartz+Sql Server+vue实现定时任务(带界面)
阅读量:3912 次
发布时间:2019-05-23

本文共 20132 字,大约阅读时间需要 67 分钟。

目录结构:

数据库表:(如果是Mysql在官网找到相应脚本即可,网上也很多)

USE [quartz]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOIF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_QRTZ_TRIGGERS_QRTZ_JOB_DETAILS]') AND OBJECTPROPERTY(id, N'ISFOREIGNKEY') = 1)ALTER TABLE [dbo].[QRTZ_TRIGGERS] DROP CONSTRAINT FK_QRTZ_TRIGGERS_QRTZ_JOB_DETAILSGOIF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_QRTZ_CRON_TRIGGERS_QRTZ_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISFOREIGNKEY') = 1)ALTER TABLE [dbo].[QRTZ_CRON_TRIGGERS] DROP CONSTRAINT FK_QRTZ_CRON_TRIGGERS_QRTZ_TRIGGERSGOIF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_QRTZ_SIMPLE_TRIGGERS_QRTZ_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISFOREIGNKEY') = 1)ALTER TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] DROP CONSTRAINT FK_QRTZ_SIMPLE_TRIGGERS_QRTZ_TRIGGERSGOIF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[FK_QRTZ_SIMPROP_TRIGGERS_QRTZ_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISFOREIGNKEY') = 1)ALTER TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] DROP CONSTRAINT FK_QRTZ_SIMPROP_TRIGGERS_QRTZ_TRIGGERSGOIF  EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_QRTZ_JOB_LISTENERS_QRTZ_JOB_DETAILS]') AND parent_object_id = OBJECT_ID(N'[dbo].[QRTZ_JOB_LISTENERS]'))ALTER TABLE [dbo].[QRTZ_JOB_LISTENERS] DROP CONSTRAINT [FK_QRTZ_JOB_LISTENERS_QRTZ_JOB_DETAILS]IF  EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_QRTZ_TRIGGER_LISTENERS_QRTZ_TRIGGERS]') AND parent_object_id = OBJECT_ID(N'[dbo].[QRTZ_TRIGGER_LISTENERS]'))ALTER TABLE [dbo].[QRTZ_TRIGGER_LISTENERS] DROP CONSTRAINT [FK_QRTZ_TRIGGER_LISTENERS_QRTZ_TRIGGERS]IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_CALENDARS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)DROP TABLE [dbo].[QRTZ_CALENDARS]GOIF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_CRON_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)DROP TABLE [dbo].[QRTZ_CRON_TRIGGERS]GOIF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_BLOB_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)DROP TABLE [dbo].[QRTZ_BLOB_TRIGGERS]GOIF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_FIRED_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)DROP TABLE [dbo].[QRTZ_FIRED_TRIGGERS]GOIF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_PAUSED_TRIGGER_GRPS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)DROP TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS]GOIF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[QRTZ_JOB_LISTENERS]') AND type in (N'U'))DROP TABLE [dbo].[QRTZ_JOB_LISTENERS]IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_SCHEDULER_STATE]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)DROP TABLE [dbo].[QRTZ_SCHEDULER_STATE]GOIF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_LOCKS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)DROP TABLE [dbo].[QRTZ_LOCKS]GOIF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[QRTZ_TRIGGER_LISTENERS]') AND type in (N'U'))DROP TABLE [dbo].[QRTZ_TRIGGER_LISTENERS]IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_JOB_DETAILS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)DROP TABLE [dbo].[QRTZ_JOB_DETAILS]GOIF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_SIMPLE_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)DROP TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS]GOIF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_SIMPROP_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)DROP TABLE [dbo].QRTZ_SIMPROP_TRIGGERSGOIF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[QRTZ_TRIGGERS]') AND OBJECTPROPERTY(id, N'ISUSERTABLE') = 1)DROP TABLE [dbo].[QRTZ_TRIGGERS]GOCREATE TABLE [dbo].[QRTZ_CALENDARS] (  [SCHED_NAME] [NVARCHAR] (100)  NOT NULL ,  [CALENDAR_NAME] [NVARCHAR] (200)  NOT NULL ,  [CALENDAR] [IMAGE] NOT NULL) ON [PRIMARY]GOCREATE TABLE [dbo].[QRTZ_CRON_TRIGGERS] (  [SCHED_NAME] [NVARCHAR] (100)  NOT NULL ,  [TRIGGER_NAME] [NVARCHAR] (150)  NOT NULL ,  [TRIGGER_GROUP] [NVARCHAR] (150)  NOT NULL ,  [CRON_EXPRESSION] [NVARCHAR] (120)  NOT NULL ,  [TIME_ZONE_ID] [NVARCHAR] (80) ) ON [PRIMARY]GOCREATE TABLE [dbo].[QRTZ_FIRED_TRIGGERS] (  [SCHED_NAME] [NVARCHAR] (100)  NOT NULL ,  [ENTRY_ID] [NVARCHAR] (95)  NOT NULL ,  [TRIGGER_NAME] [NVARCHAR] (150)  NOT NULL ,  [TRIGGER_GROUP] [NVARCHAR] (150)  NOT NULL ,  [INSTANCE_NAME] [NVARCHAR] (200)  NOT NULL ,  [FIRED_TIME] [BIGINT] NOT NULL ,  [SCHED_TIME] [BIGINT] NOT NULL ,  [PRIORITY] [INTEGER] NOT NULL ,  [STATE] [NVARCHAR] (16)  NOT NULL,  [JOB_NAME] [NVARCHAR] (150)  NULL ,  [JOB_GROUP] [NVARCHAR] (150)  NULL ,  [IS_NONCONCURRENT] BIT  NULL ,  [REQUESTS_RECOVERY] BIT  NULL ) ON [PRIMARY]GOCREATE TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS] (  [SCHED_NAME] [NVARCHAR] (100)  NOT NULL ,  [TRIGGER_GROUP] [NVARCHAR] (150)  NOT NULL ) ON [PRIMARY]GOCREATE TABLE [dbo].[QRTZ_SCHEDULER_STATE] (  [SCHED_NAME] [NVARCHAR] (100)  NOT NULL ,  [INSTANCE_NAME] [NVARCHAR] (200)  NOT NULL ,  [LAST_CHECKIN_TIME] [BIGINT] NOT NULL ,  [CHECKIN_INTERVAL] [BIGINT] NOT NULL) ON [PRIMARY]GOCREATE TABLE [dbo].[QRTZ_LOCKS] (  [SCHED_NAME] [NVARCHAR] (100)  NOT NULL ,  [LOCK_NAME] [NVARCHAR] (40)  NOT NULL ) ON [PRIMARY]GOCREATE TABLE [dbo].[QRTZ_JOB_DETAILS] (  [SCHED_NAME] [NVARCHAR] (100)  NOT NULL ,  [JOB_NAME] [NVARCHAR] (150)  NOT NULL ,  [JOB_GROUP] [NVARCHAR] (150)  NOT NULL ,  [DESCRIPTION] [NVARCHAR] (250) NULL ,  [JOB_CLASS_NAME] [NVARCHAR] (250)  NOT NULL ,  [IS_DURABLE] BIT  NOT NULL ,  [IS_NONCONCURRENT] BIT  NOT NULL ,  [IS_UPDATE_DATA] BIT  NOT NULL ,  [REQUESTS_RECOVERY] BIT  NOT NULL ,  [JOB_DATA] [IMAGE] NULL) ON [PRIMARY]GOCREATE TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] (  [SCHED_NAME] [NVARCHAR] (100)  NOT NULL ,  [TRIGGER_NAME] [NVARCHAR] (150)  NOT NULL ,  [TRIGGER_GROUP] [NVARCHAR] (150)  NOT NULL ,  [REPEAT_COUNT] [INTEGER] NOT NULL ,  [REPEAT_INTERVAL] [BIGINT] NOT NULL ,  [TIMES_TRIGGERED] [INTEGER] NOT NULL) ON [PRIMARY]GOCREATE TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] (  [SCHED_NAME] [NVARCHAR] (100)  NOT NULL ,  [TRIGGER_NAME] [NVARCHAR] (150)  NOT NULL ,  [TRIGGER_GROUP] [NVARCHAR] (150)  NOT NULL ,  [STR_PROP_1] [NVARCHAR] (512) NULL,  [STR_PROP_2] [NVARCHAR] (512) NULL,  [STR_PROP_3] [NVARCHAR] (512) NULL,  [INT_PROP_1] [INT] NULL,  [INT_PROP_2] [INT] NULL,  [LONG_PROP_1] [BIGINT] NULL,  [LONG_PROP_2] [BIGINT] NULL,  [DEC_PROP_1] [NUMERIC] (13,4) NULL,  [DEC_PROP_2] [NUMERIC] (13,4) NULL,  [BOOL_PROP_1] BIT NULL,  [BOOL_PROP_2] BIT NULL,) ON [PRIMARY]GOCREATE TABLE [dbo].[QRTZ_BLOB_TRIGGERS] (  [SCHED_NAME] [NVARCHAR] (100)  NOT NULL ,  [TRIGGER_NAME] [NVARCHAR] (150)  NOT NULL ,  [TRIGGER_GROUP] [NVARCHAR] (150)  NOT NULL ,  [BLOB_DATA] [IMAGE] NULL) ON [PRIMARY]GOCREATE TABLE [dbo].[QRTZ_TRIGGERS] (  [SCHED_NAME] [NVARCHAR] (100)  NOT NULL ,  [TRIGGER_NAME] [NVARCHAR] (150)  NOT NULL ,  [TRIGGER_GROUP] [NVARCHAR] (150)  NOT NULL ,  [JOB_NAME] [NVARCHAR] (150)  NOT NULL ,  [JOB_GROUP] [NVARCHAR] (150)  NOT NULL ,  [DESCRIPTION] [NVARCHAR] (250) NULL ,  [NEXT_FIRE_TIME] [BIGINT] NULL ,  [PREV_FIRE_TIME] [BIGINT] NULL ,  [PRIORITY] [INTEGER] NULL ,  [TRIGGER_STATE] [NVARCHAR] (16)  NOT NULL ,  [TRIGGER_TYPE] [NVARCHAR] (8)  NOT NULL ,  [START_TIME] [BIGINT] NOT NULL ,  [END_TIME] [BIGINT] NULL ,  [CALENDAR_NAME] [NVARCHAR] (200)  NULL ,  [MISFIRE_INSTR] [INTEGER] NULL ,  [JOB_DATA] [IMAGE] NULL) ON [PRIMARY]GOALTER TABLE [dbo].[QRTZ_CALENDARS] WITH NOCHECK ADD  CONSTRAINT [PK_QRTZ_CALENDARS] PRIMARY KEY  CLUSTERED  (    [SCHED_NAME],    [CALENDAR_NAME]  )  ON [PRIMARY]GOALTER TABLE [dbo].[QRTZ_CRON_TRIGGERS] WITH NOCHECK ADD  CONSTRAINT [PK_QRTZ_CRON_TRIGGERS] PRIMARY KEY  CLUSTERED  (    [SCHED_NAME],    [TRIGGER_NAME],    [TRIGGER_GROUP]  )  ON [PRIMARY]GOALTER TABLE [dbo].[QRTZ_FIRED_TRIGGERS] WITH NOCHECK ADD  CONSTRAINT [PK_QRTZ_FIRED_TRIGGERS] PRIMARY KEY  CLUSTERED  (    [SCHED_NAME],    [ENTRY_ID]  )  ON [PRIMARY]GOALTER TABLE [dbo].[QRTZ_PAUSED_TRIGGER_GRPS] WITH NOCHECK ADD  CONSTRAINT [PK_QRTZ_PAUSED_TRIGGER_GRPS] PRIMARY KEY  CLUSTERED  (    [SCHED_NAME],    [TRIGGER_GROUP]  )  ON [PRIMARY]GOALTER TABLE [dbo].[QRTZ_SCHEDULER_STATE] WITH NOCHECK ADD  CONSTRAINT [PK_QRTZ_SCHEDULER_STATE] PRIMARY KEY  CLUSTERED  (    [SCHED_NAME],    [INSTANCE_NAME]  )  ON [PRIMARY]GOALTER TABLE [dbo].[QRTZ_LOCKS] WITH NOCHECK ADD  CONSTRAINT [PK_QRTZ_LOCKS] PRIMARY KEY  CLUSTERED  (    [SCHED_NAME],    [LOCK_NAME]  )  ON [PRIMARY]GOALTER TABLE [dbo].[QRTZ_JOB_DETAILS] WITH NOCHECK ADD  CONSTRAINT [PK_QRTZ_JOB_DETAILS] PRIMARY KEY  CLUSTERED  (    [SCHED_NAME],    [JOB_NAME],    [JOB_GROUP]  )  ON [PRIMARY]GOALTER TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] WITH NOCHECK ADD  CONSTRAINT [PK_QRTZ_SIMPLE_TRIGGERS] PRIMARY KEY  CLUSTERED  (    [SCHED_NAME],    [TRIGGER_NAME],    [TRIGGER_GROUP]  )  ON [PRIMARY]GOALTER TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] WITH NOCHECK ADD  CONSTRAINT [PK_QRTZ_SIMPROP_TRIGGERS] PRIMARY KEY  CLUSTERED  (    [SCHED_NAME],    [TRIGGER_NAME],    [TRIGGER_GROUP]  )  ON [PRIMARY]GOALTER TABLE [dbo].[QRTZ_TRIGGERS] WITH NOCHECK ADD  CONSTRAINT [PK_QRTZ_TRIGGERS] PRIMARY KEY  CLUSTERED  (    [SCHED_NAME],    [TRIGGER_NAME],    [TRIGGER_GROUP]  )  ON [PRIMARY]GOALTER TABLE [dbo].[QRTZ_CRON_TRIGGERS] ADD  CONSTRAINT [FK_QRTZ_CRON_TRIGGERS_QRTZ_TRIGGERS] FOREIGN KEY  (    [SCHED_NAME],    [TRIGGER_NAME],    [TRIGGER_GROUP]  ) REFERENCES [dbo].[QRTZ_TRIGGERS] (    [SCHED_NAME],    [TRIGGER_NAME],    [TRIGGER_GROUP]  ) ON DELETE CASCADEGOALTER TABLE [dbo].[QRTZ_SIMPLE_TRIGGERS] ADD  CONSTRAINT [FK_QRTZ_SIMPLE_TRIGGERS_QRTZ_TRIGGERS] FOREIGN KEY  (    [SCHED_NAME],    [TRIGGER_NAME],    [TRIGGER_GROUP]  ) REFERENCES [dbo].[QRTZ_TRIGGERS] (    [SCHED_NAME],    [TRIGGER_NAME],    [TRIGGER_GROUP]  ) ON DELETE CASCADEGOALTER TABLE [dbo].[QRTZ_SIMPROP_TRIGGERS] ADD  CONSTRAINT [FK_QRTZ_SIMPROP_TRIGGERS_QRTZ_TRIGGERS] FOREIGN KEY  (    [SCHED_NAME],    [TRIGGER_NAME],    [TRIGGER_GROUP]  ) REFERENCES [dbo].[QRTZ_TRIGGERS] (    [SCHED_NAME],    [TRIGGER_NAME],    [TRIGGER_GROUP]  ) ON DELETE CASCADEGOALTER TABLE [dbo].[QRTZ_TRIGGERS] ADD  CONSTRAINT [FK_QRTZ_TRIGGERS_QRTZ_JOB_DETAILS] FOREIGN KEY  (    [SCHED_NAME],    [JOB_NAME],    [JOB_GROUP]  ) REFERENCES [dbo].[QRTZ_JOB_DETAILS] (    [SCHED_NAME],    [JOB_NAME],    [JOB_GROUP]  )GOCREATE INDEX IDX_QRTZ_T_J ON QRTZ_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP)CREATE INDEX IDX_QRTZ_T_JG ON QRTZ_TRIGGERS(SCHED_NAME,JOB_GROUP)CREATE INDEX IDX_QRTZ_T_C ON QRTZ_TRIGGERS(SCHED_NAME,CALENDAR_NAME)CREATE INDEX IDX_QRTZ_T_G ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP)CREATE INDEX IDX_QRTZ_T_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE)CREATE INDEX IDX_QRTZ_T_N_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE)CREATE INDEX IDX_QRTZ_T_N_G_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE)CREATE INDEX IDX_QRTZ_T_NEXT_FIRE_TIME ON QRTZ_TRIGGERS(SCHED_NAME,NEXT_FIRE_TIME)CREATE INDEX IDX_QRTZ_T_NFT_ST ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME)CREATE INDEX IDX_QRTZ_T_NFT_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME)CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE)CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE_GRP ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE)CREATE INDEX IDX_QRTZ_FT_TRIG_INST_NAME ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME)CREATE INDEX IDX_QRTZ_FT_INST_JOB_REQ_RCVRY ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY)CREATE INDEX IDX_QRTZ_FT_J_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP)CREATE INDEX IDX_QRTZ_FT_JG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_GROUP)CREATE INDEX IDX_QRTZ_FT_T_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)CREATE INDEX IDX_QRTZ_FT_TG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_GROUP)

pom依赖:

4.0.0
com.example.quartz
springboot-quartz
0.0.1-SNAPSHOT
jar
springboot-quartz
Demo project for Spring Boot quartz
org.springframework.boot
spring-boot-starter-parent
2.0.5.RELEASE
UTF-8
UTF-8
1.8
org.springframework.boot
spring-boot-starter-quartz
com.alibaba
druid
1.0.11
org.springframework.boot
spring-boot-starter-web
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.2
com.microsoft.sqlserver
mssql-jdbc
runtime
org.springframework.boot
spring-boot-starter-test
test
com.github.pagehelper
pagehelper
5.0.0
com.mchange
c3p0
0.9.5.2
org.springframework.boot
spring-boot-maven-plugin

yml配置文件:

mybatis:  configuration:    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl  mapper-locations: classpath*:mappers/*Mapper.xmlspring:  datasource:    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver    url:jdbc:sqlserver://120.78.250.117:51000;instanceName=CTR_SERVER;DatabaseName=gameData    username: shui    password: Lh969339353    type: com.alibaba.druid.pool.DruidDataSource

quartz配置文件:

# 固定前缀org.quartz# 主要分为scheduler、threadPool、jobStore、plugin等部分##org.quartz.scheduler.instanceName = DefaultQuartzScheduler#如果您希望Quartz Scheduler通过RMI作为服务器导出本身,则将“rmi.export”标志设置为true。#在同一个配置文件中为'org.quartz.scheduler.rmi.export'和'org.quartz.scheduler.rmi.proxy'指定一个'true'值是没有意义的,如果你这样做,'export '选项将被忽略org.quartz.scheduler.rmi.export = false#如果要连接(使用)远程服务的调度程序,则将“org.quartz.scheduler.rmi.proxy”标志设置为true。您还必须指定RMI注册表进程的主机和端口 - 通常是“localhost”端口1099。org.quartz.scheduler.rmi.proxy = falseorg.quartz.scheduler.wrapJobExecutionInUserTransaction = false# 实例化ThreadPool时,使用的线程类为SimpleThreadPoolorg.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool# threadCount和threadPriority将以setter的形式注入ThreadPool实例# 并发个数  如果你只有几个工作每天触发几次 那么1个线程就可以,如果你有成千上万的工作,每分钟都有很多工作 那么久需要50-100之间.# 只有1到100之间的数字是非常实用的org.quartz.threadPool.threadCount = 5# 优先级 默认值为5org.quartz.threadPool.threadPriority = 5#可以是“true”或“false”,默认为false。org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true#在被认为“misfired”(失火)之前,调度程序将“tolerate(容忍)”一个Triggers(触发器)将其下一个启动时间通过的毫秒数。默认值(如果您在配置中未输入此属性)为60000(60秒)org.quartz.jobStore.misfireThreshold = 5000# 默认存储在内存中,RAMJobStore快速轻便,但是当进程终止时,所有调度信息都会丢失。#org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore#持久化org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX#您需要为JobStore选择一个DriverDelegate才能使用。DriverDelegate负责执行特定数据库可能需要的任何JDBC工作。# StdJDBCDelegate是一个使用“vanilla”JDBC代码(和SQL语句)来执行其工作的委托,用于完全符合JDBC的驱动程序org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate#可以将“org.quartz.jobStore.useProperties”配置参数设置为“true”(默认为false),以指示JDBCJobStore将JobDataMaps中的所有值都作为字符串,# 因此可以作为名称 - 值对存储而不是在BLOB列中以其序列化形式存储更多复杂的对象。从长远来看,这是更安全的,因为您避免了将非String类序列化为BLOB的类版本问题。org.quartz.jobStore.useProperties=true#表前缀org.quartz.jobStore.tablePrefix = QRTZ_#您需要设置JobStore应该使用哪个DataSource。org.quartz.jobStore.dataSource = qzDSorg.quartz.dataSource.qzDS.driver=com.microsoft.sqlserver.jdbc.SQLServerDriverorg.quartz.dataSource.qzDS.URL=jdbc:sqlserver://120.78.250.117:51000;instanceName=CTR_SERVER;DatabaseName=gameDataorg.quartz.dataSource.qzDS.user=shuiorg.quartz.dataSource.qzDS.password=Lh969339353org.quartz.dataSource.qzDS.maxConnections = 10#设置为“true”以打开群集功能。如果您有多个Quartz实例使用同一组数据库表,则此属性必须设置为“true”,否则您将遇到破坏。#org.quartz.jobStore.isClustered=false#配置集群参见:  https://www.w3cschool.cn/quartz_doc/quartz_doc-3x7u2doc.html

xml文件:

配置类config:

@Configurationpublic class SchedulerConfig {    @Bean(name="SchedulerFactory")    public SchedulerFactoryBean schedulerFactoryBean() throws IOException {        SchedulerFactoryBean factory = new SchedulerFactoryBean();        factory.setQuartzProperties(quartzProperties());        return factory;    }    @Bean    public Properties quartzProperties() throws IOException {        PropertiesFactoryBean propertiesFactoryBean = new PropertiesFactoryBean();        propertiesFactoryBean.setLocation(new ClassPathResource("/quartz.properties"));        //在quartz.properties中的属性被读取并注入后再初始化对象        propertiesFactoryBean.afterPropertiesSet();        return propertiesFactoryBean.getObject();    }    /**     * quartz初始化监听器     * 这个监听器可以监听到工程的启动,在工程停止再启动时可以让已有的定时任务继续进行。     * @return     */    @Bean    public QuartzInitializerListener executorListener() {        return new QuartzInitializerListener();    }    /**     *     *通过SchedulerFactoryBean获取Scheduler的实例     */    @Bean(name="Scheduler")    public Scheduler scheduler() throws IOException {        return schedulerFactoryBean().getScheduler();    }}

前端(放在quartzproject\src\main\resources\templates):

    
QuartzDemo
查询
添加
Simple Trigger
Cron Trigger

© Quartz 任务管理

 

源码下载:

直接问我要也行

 

转载地址:http://iawrn.baihongyu.com/

你可能感兴趣的文章
15个顶级Java多线程面试题及答案
查看>>
成为优秀Java程序员的10大技巧
查看>>
一位10年Java工作经验的架构师聊Java和工作经验
查看>>
Java架构师学习路线
查看>>
号称精通Java的你,是否真的名副其实
查看>>
你可以把编程当做一项托付终身的职业
查看>>
细思极恐——你真的会写Java吗?
查看>>
Java并发面试,幸亏有点道行,不然又被忽悠了
查看>>
Java基础面试题收集整理
查看>>
SpringBoot基础篇Bean之条件注入@Condition使用姿势
查看>>
让你秒懂线程和线程安全,只需5步!
查看>>
Spring Boot学习之Logback和Log4j2集成与日志发展史
查看>>
Java注解(annotation)机制
查看>>
volatile关键字全面解析
查看>>
Java如何实现哈夫曼编码
查看>>
从源代码的角度理解Java设计模式的装饰模式
查看>>
系统架构中为什么要引入消息中间件?
查看>>
Java内存模型详解
查看>>
Java NIO之Selector
查看>>
SLF4J源码解析(一)
查看>>