定时批处理作业是J2EE企业应用里很重要的一环,用来在晚间进行财务挂账,数据转存,新闻联播等等操作。
而在Spring里,已经很好的集成了Quartz,简单到像配cron一样,在xml文件里面配一下时间就可以自动执行,不需要写一行代码。
 <bean id="methodInvokingJobDetail"
     <bean id="methodInvokingJobDetail" 
 class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
 <property name="targetObject"><ref bean="financeDAO"/></property>
         <property name="targetObject"><ref bean="financeDAO"/></property>
 <property name="targetMethod"><value>confirmOrder</value></property>
         <property name="targetMethod"><value>confirmOrder</value></property>
 </bean>
    </bean>
 <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
    <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
 <property name="jobDetail"><ref bean="methodInvokingJobDetail"/></property>
          <property name="jobDetail"><ref bean="methodInvokingJobDetail"/></property>
 <property name="cronExpression"><value>0 0 6,12,20 * * ?</value></property>
          <property name="cronExpression"><value>0 0 6,12,20 * * ?</value></property>
 </bean>
    </bean>
 <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
 <property name="triggers"><list><ref local="cronTrigger"/></list></property>
            <property name="triggers"><list><ref local="cronTrigger"/></list></property>
 </bean>
    </bean> 
上面这段配置文件规定了在早上6点和晚上8点执行financeDAO对象的confirmOrder()方法 
附:cronExpression配置说明
| 字段 |  | 允许值 |  | 允许的特殊字符 | 
|---|
| 秒 |  | 0-59 |  | , - * / | 
| 分 |  | 0-59 |  | , - * / | 
| 小时 |  | 0-23 |  | , - * / | 
| 日期 |  | 1-31 |  | , - * ? / L W C | 
| 月份 |  | 1-12 或者 JAN-DEC |  | , - * / | 
| 星期 |  | 1-7 或者 SUN-SAT |  | , - * ? / L C # | 
| 年(可选) |  | 留空, 1970-2099 |  | , - * / | 
	posted on 2005-02-04 11:16 
jacky 阅读(426) 
评论(0)  编辑  收藏  所属分类: 
Open source