本文共 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
源码下载:
直接问我要也行
转载地址:http://iawrn.baihongyu.com/