- Quartz是由java开发的开源定时任务调度框架
1、jar包的导入配置
2、
在src目录下新建一个job包,用于存放java代码;java代码需要实现job接口,并且编写execute方法。
3、
在src目录下新建一个properties文件和xml文件:
org.quartz.scheduler.instanceName = QuartzScheduler
org.quartz.scheduler.instanceId = AUTO
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
#线程数
org.quartz.threadPool.threadCount = 5
#优先权
org.quartz.threadPool.threadPriority = 5
org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
org.quartz.plugin.jobInitializer.
class
=
org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin
# 具体调度实现job类配置文件
org.quartz.plugin.jobInitializer.fileNames =
quartz_data.xml
org.quartz.plugin.jobInitializer.failOnFileNotFound =
true
o
rg.quartz.plugin.jobInitializer.scanInterval =
10
org.quartz.plugin.jobInitializer.wrapInUserTransaction =
false
org.quartz.scheduler.skipUpdateCheck =
true
4、
在此基础上,开始配置web.xml文件:
<
servlet
>
<
servlet-name
>
QuartzInitializer
</
servlet-name
>
<
servlet-class
>
org.quartz.ee.servlet.QuartzInitializerServlet
</
servlet-class
>
<
init-param
>
<
param-name
>
config-file
</
param-name
>
<
param-value
>
/quartz.properties
</
param-value
>
</
init-param
>
<
init-param
>
<
param-name
>
shutdown-on-unload
</
param-name
>
<
param-value
>
true
</
param-value
>
</
init-param
>
<
load-on-startup
>
2
</
load-on-startup
>
</
servlet
>
5、
配置quartz_data.xml文件
xml version="1.0" encoding="UTF-8"
<
job-scheduling-data
xmlns
="http://www.quartz-scheduler.org/xml/JobSchedulingData"
xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
="http://www.quartz-scheduler.org/xml/JobSchedulingData http://www.quartz-scheduler.org/xml/job_scheduling_data_1_8.xsd"
version
="1.8"
>
<schedule>
<job>
<name>DemoJob</name>
<group>JobGroup</group>
<job-class>job.QuartzDemoJob</job-class>
</job>
<trigger>
<cron>
<name>DemoTrigger</name>
<group>triggerGroup</group>
<job-name>DemoJob</job-name>
<job-group>JobGroup</job-group>
<cron-expression>0/3 * * * * ?</cron-expression>
</cron>
</trigger>
</schedule>
<schedule>
<job>
<name>TestJob</name>
<group>TestGroup</group>
<job-class>job.QuartzTestJob</job-class>
</job>
<trigger>
<cron>
<name>DemoTrigger</name>
<!-- <group>triggerGroup</group>-->
<job-name>TestJob</job-name>
<job-group>TestGroup</job-group>
<cron-expression>0/5 * * * * ?</cron-expression>
</cron>
</trigger>
</schedule>
</job-scheduling-data>
6、实现job接口 -自行编写