Spring与Quartz的结合使用

1. [代码]QuartzJob.java Quartz的任务调度     

?
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
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
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" >
                 < re f 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 >

4. [图片] 1111.png    

5. [图片] 22222.png    


猜你喜欢

转载自blog.csdn.net/ly199108171231/article/details/53285105