NotOnlyJava

http://www.ibm.com/developerworks/cn/java/j-lo-serial/
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

spring+quartz配置

Posted on 2013-07-22 14:01  NotOnlyJava  阅读(350)  评论(0编辑  收藏  举报
 1 1    定义一个任务类,就是一个普通java类,并添加bean配置
 2     package com.czp.spr.quartz;
 3     
 4     public class MyTask {
 5     
 6         /**
 7          * 这个是Quartz框架要调动的方法
 8          * quartz通过反射调用
 9          * 名称不限只要为public即可
10          * 
11          */
12         public void execute()
13         {
14             System.out.println("I am running ");
15         }
16 }
17     <bean id="TestJob" class="com.czp.spr.quartz.MyTask"/>
18     
19 2 配置一个调度器Scheduler:
20   <bean id="TestScheduler" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">          
21         <property name="targetObject" ref="TestJob"/>          
22         <property name="targetMethod" value="execute"/> <!--这个对应java里的方法-->         
23         <property name="concurrent" value="false"/>    
24     </bean>
25 3 配置一个触发器trigger
26   <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean" >
27     <property name="jobDetail" ref="TestScheduler"/>           
28     <property name="cronExpression">                 
29         <value>0 8/30 * * * ?</value> <!-- 表达式为:ss mm HH dd/week MM yy 示例表示没点的08或38分执行--->            
30     </property>       
31     </bean>     
32 4 配置调度工厂
33     <bean id="schedulerFactory"  class="org.springframework.scheduling.quartz.SchedulerFactoryBean">          
34         <property name="triggers">              
35             <list>                  
36                 <ref local="cronTrigger"/>      
37             </list>          
38         </property> 
39     </bean>    
40 5 完整的配置文件:
41 <?xml version="1.0" encoding="UTF-8"?>
42 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
43 <beans>
44     
45     <!--自定义的任务--->
46     <bean id="TestJob" class="com.czp.spr.quartz.MyTask"/>
47 2 配置一个调度器Scheduler:
48   <bean id="TestScheduler" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">          
49         <property name="targetObject" ref="TestJob"/>          
50         <property name="targetMethod" value="execute"/> <!--这个对应java里的方法-->         
51         <property name="concurrent" value="false"/>    
52     </bean>
53 3 配置一个触发器trigger
54   <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean" >
55     <property name="jobDetail" ref="TestScheduler"/>           
56     <property name="cronExpression">                 
57         <value>0 8/30 * * * ?</value> <!-- 表达式为:ss mm HH dd/week MM yy 示例表示没点的08或38分执行--->            
58     </property>       
59     </bean>     
60 4 配置调度工厂
61     <bean id="schedulerFactory"  class="org.springframework.scheduling.quartz.SchedulerFactoryBean">          
62         <property name="triggers">              
63             <list>                  
64                 <ref local="cronTrigger"/>      
65             </list>          
66         </property> 
67     </bean>    
68 </beans>
69 6 扩展阅读:
70   Quartz http://blog.csdn.net/fjfzchenli/article/details/9383853    
71   Quartz表达式:http://www.cnblogs.com/czpblog/p/3198348.html
72 
73