[1].[代码] QuartzJob.java Quartz的任务调度 跳至 [1] [2] [3] [4] [5] [6]
1
2
3
4
5
6
7
8
|
package
com.kay.quartz;
public
class
QuartzJob {
public
void
work() {
System.out.println(
"Quartz的任务调度!!!"
);
}
}
|
[2].[代码] 主程序测试代码MainTest.java 跳至 [1] [2] [3] [4] [5] [6]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
package
com.kay.quartz;
import
org.springframework.context.ApplicationContext;
import
org.springframework.context.support.ClassPathXmlApplicationContext;
public
class
MainTest
{
/**
* @param args
*/
public
static
void
main(String[] args)
{
System.out.println(
"Test start."
);
ApplicationContext context =
new
ClassPathXmlApplicationContext(
"quartz-config.xml"
);
//如果配置文件中将startQuertz bean的lazy-init设置为false 则不用实例化
//context.getBean("startQuertz");
System.out.print(
"Test end.."
);
}
}
|
[3].[代码] xml spring配置文件 跳至 [1] [2] [3] [4] [5] [6]
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
|
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<!
DOCTYPE
beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<
beans
>
<!-- 要调用的工作类 -->
<
bean
id
=
"quartzJob"
class
=
"com.kay.quartz.QuartzJob"
></
bean
>
<!-- 定义调用对象和调用对象的方法 -->
<
bean
id
=
"jobtask"
class
=
"org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
>
<!-- 调用的类 -->
<
property
name
=
"targetObject"
>
<
ref
bean
=
"quartzJob"
/>
</
property
>
<!-- 调用类中的方法 -->
<
property
name
=
"targetMethod"
>
<
value
>work</
value
>
</
property
>
</
bean
>
<!-- 定义触发时间 -->
<
bean
id
=
"doTime"
class
=
"org.springframework.scheduling.quartz.CronTriggerFactoryBean"
>
<
property
name
=
"jobDetail"
>
<
ref
bean
=
"jobtask"
/>
</
property
>
<!-- cron表达式 -->
<
property
name
=
"cronExpression"
>
<
value
>10,15,20,25,30,35,40,45,50,55 * * * * ?</
value
>
</
property
>
</
bean
>
<!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 -->
<
bean
id
=
"startQuertz"
lazy-init
=
"false"
autowire
=
"no"
class
=
"org.springframework.scheduling.quartz.SchedulerFactoryBean"
>
<
property
name
=
"triggers"
>
<
list
>
<
ref
bean
=
"doTime"
/>
</
list
>
</
property
>
</
bean
>
</
beans
>
|
如果是web应用
别忘了在web.xml里面配置Spring:
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
- http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- version="2.5">
- <welcome-file-list>
- <welcome-file>index.html</welcome-file>
- </welcome-file-list>
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>/WEB-INF/spring-config.xml</param-value>
- </context-param>
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
- </listener>
- </web-app>