-
Notifications
You must be signed in to change notification settings - Fork 64
Expand file tree
/
Copy pathspring-quartz.java
More file actions
67 lines (54 loc) · 1.7 KB
/
spring-quartz.java
File metadata and controls
67 lines (54 loc) · 1.7 KB
1
2
3
4
5
6
7
8
9
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
---------------------------
spring-quartz 任务调度系统|
---------------------------
# Scheduler --> Trigger --> JobDetail --> bean
# 关系
Scheduler
--> 负责注册,N个trigger
Trigger
--> 负责注册jobdetail,配置表达式
JobDetail
--> 负责注册执行类,以及执行的方法
bean
--> 负责执行
# Scheduler 配置
<bean id="myScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<!-- 指定任务 trigger -->
<ref bean="myTriggersA"></ref>
<ref bean="myTriggersB"></ref>
</list>
</property>
<!-- 是否自动执行 -->
<property name="autoStartup" value="true"/>
</bean>
# Trigger 配置
<bean id="myTriggersA" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<!-- 指定 JobDetail -->
<property name="jobDetail" ref="myJobDetailA"/>
<!-- 配置执行表达式 -->
<property name="cronExpression">
<value>0/1 * * * * ?</value>
</property>
</bean>
# JobDetail 配置
<bean id="myJobDetailA" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 指定业务类 -->
<property name="targetObject" ref="myJobA" />
<!--指定执行任务的方法名 -->
<property name="targetMethod" value="work" />
<!-- 是否允许任务并发执行。当值为false时,表示必须等到前一个线程处理完毕后才再启一个新的线程 -->
<property name="concurrent" value="false" />
</bean>
# bean 配置
<bean id="myJobA" class="com.quartz.MyJobA"/>
# 业务类不需要继承任何父类,也不需要实现任何接口,只是一个普通的java类。
# spring-quartz 任务调度系统|
Scheduler
|
Trigger Trigger Trigger
| | |
JobDetail JobDetail JobDetail
| | |
bean bean bean