Quartz是一个类似springtask的启动定时任务的框架。spring整合quartz的步骤如下:
一 导入spring和Quartz的坐标
[XML]
纯文本查看
复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
<
dependency
>
<
groupId
>org.quartz-scheduler</
groupId
>
<
artifactId
>quartz</
artifactId
>
<
version
>2.2.1</
version
>
</
dependency
>
<
dependency
>
<
groupId
>org.quartz-scheduler</
groupId
>
<
artifactId
>quartz-jobs</
artifactId
>
<
version
>2.2.1</
version
>
</
dependency
>
<
dependency
>
<
groupId
>org.slf4j</
groupId
>
<
artifactId
>slf4j-log4j12</
artifactId
>
<
version
>1.7.12</
version
>
</
dependency
>
<
dependency
>
<
groupId
>org.springframework</
groupId
>
<
artifactId
>spring-context</
artifactId
>
<
version
>4.1.7.RELEASE</
version
>
</
dependency
>
<
dependency
>
<
groupId
>org.springframework</
groupId
>
<
artifactId
>spring-context-support</
artifactId
>
<
version
>4.1.7.RELEASE</
version
>
</
dependency
>
<
dependency
>
<
groupId
>org.springframework</
groupId
>
<
artifactId
>spring-web</
artifactId
>
<
version
>4.1.7.RELEASE</
version
>
</
dependency
>
<
dependency
>
<
groupId
>org.springframework</
groupId
>
<
artifactId
>spring-tx</
artifactId
>
<
version
>4.1.7.RELEASE</
version
>
</
dependency
>
|
二 编写job 实现Job接口,定义需要定时执行的任务
[Java]
纯文本查看
复制代码
1
2
3
4
5
6
7
8
|
public
class
HelloJob
implements
Job {
public
void
execute(JobExecutionContext context)
throws
JobExecutionException {
System.out.println(
"定时执行的任务"
);
}
}
|
三 编写spring整合quartz配置文件
[XML]
纯文本查看
复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
<!-- job -->
<
bean
id
=
"helloJob"
class
=
"org.springframework.scheduling.quartz.JobDetailFactoryBean"
>
<
property
name
=
"jobClass"
value
=
"cn.itcast.quartz.job.HelloJob"
/>
</
bean
>
<!-- trigger -->
<
bean
id
=
"simpleTrigger"
class
=
"org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"
>
<
property
name
=
"jobDetail"
ref
=
"helloJob"
/>
<!-- 3秒后第一次执行 -->
<
property
name
=
"startDelay"
value
=
"3000"
/>
<!-- 5秒后重复执行 -->
<
property
name
=
"repeatInterval"
value
=
"5000"
/>
</
bean
>
<!-- scheduler -->
<
bean
class
=
"org.springframework.scheduling.quartz.SchedulerFactoryBean"
>
<
property
name
=
"jobFactory"
ref
=
"jobFactory"
/>
<
property
name
=
"triggers"
>
<
list
>
<
ref
bean
=
"simpleTrigger"
/>
</
list
>
</
property
>
</
bean
>
|