用quartz实现自动任务执行
需求:系统里有一任务,需要定时执行
有一开源项目可以解决此类问题,拿来
1. 下载
到google里搜索 quartz down之
2. 加开发包quartz.jar到你的环境,至于怎么配置不多讲,自己动手。
3. 在web.xml里加入
<
servlet
>
<
servlet-name
>
QuartzInitializer
</
servlet-name
>
<
servlet-class
>
org.quartz.ee.servlet.QuartzInitializerServlet
</
servlet-class
>
<
load-on-startup
>
1
</
load-on-startup
>
</
servlet
>
4.
编写要定时实行的代码。
小例子,你可以写的无比复杂根据你的需求
package test.job;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class Myjob implements Job
{
public void execute(JobExecutionContext context)
throws JobExecutionException
{
System.out.println(“*********
执行了定时任务操作
*********”);
}
}
5
.编写
quartz_reminder.xml
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
quartz
xmlns
=
"http://www.opensymphony.com/quartz/JobSchedulingData"
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
=
"http://www.opensymphony.com/quartz/JobSchedulingData
http://www.opensymphony.com/quartz/xml/job_scheduling_data_1_5.xsd"
version
=
"1.5"
>
<
job
>
<
job-detail
>
<
name
>
Job_myjob
</
name
>
<
group
>
DEFAULT
</
group
>
<
job-class
>
com.job.Myjob
</
job-class
>
</
job-detail
>
<
trigger
>
<
cron
>
<
name
>
Trigger_job
</
name
>
<
group
>
DEFAULT
</
group
>
<
job-name
>
Job_myjob
</
job-name
>
<
job-group
>
DEFAULT
</
job-group
>
<
cron-expression
>
0 0/10 * * * ?
</
cron-expression
>
</
cron
>
</
trigger
>
</
job
>
</
quartz
>
设置每
10
分钟执行一次,其他设置,请搜索其写法,呵呵
6
.编写
quartz.properties
#
# Configure Main Scheduler Properties
#
org.quartz.scheduler.instanceName =
TestScheduler
org.quartz.scheduler.instanceId =
one
#
# Configure ThreadPool
#
org.quartz.threadPool.class =
org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount =
5
org.quartz.threadPool.threadPriority =
4
#
# Configure JobStore
#
org.quartz.jobStore.misfireThreshold =
5000
org.quartz.jobStore.class =
org.quartz.simpl.RAMJobStore
# ===========================================================================
# Configure SchedulerPlugins ===============================================
# ===========================================================================
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.jobInitializer.class =
org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileName =
/quartz_reminder.xml
org.quartz.plugin.jobInitializer.overWriteExistingJobs =
false
org.quartz.plugin.jobInitializer.failOnFileNotFound =
true
org.quartz.plugin.shutdownhook.class =
org.quartz.plugins.management.ShutdownHookPlugin
org.quartz.plugin.shutdownhook.cleanShutdown =
true
7.
把
quartz_reminder.xml
和
quartz.properties
放到
WEB-INF/classes
下
8
.
OK
,启动你的应用服务器,一会查看执行结果。。。
over