项目里使用Quartz实现的Web schedule,
主要是引入jar包,完成基本配置。
首先配置需要定时执行的Class和Class中定时执行的method:
property name="targetObject"???? ref对应的Class
property name="targetMethod"?? ref对应的Method
<bean id="exportJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <ref bean="exportFileManager" /> </property> <property name="targetMethod"> <value>fileExport2</value> </property> </bean>
exportFileManager 我已在Spring文件中配置:
?
<bean id="exportFileManager" parent="managerProxyTemplate"> <property name="target"> <bean class="com.wonders.mywebapp.infobackup.service.ExportFileManager"> <property name="efilesDAO" ref="efilesDao"/> <property name="personInfoDao" ref="personInfoDao"/> </bean> </property> </bean>
然后配置method执行的时间:
property name="jobDetail"? ref 刚才配置的 jobDetail
?????property name="cronExpression"?? ref 定时的时间
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <ref bean="exportJobDetail" /> </property> <property name="cronExpression"> <value>0 46 19 * * ?</value> </property> </bean>
?最后把上一步定义的triggers ,统一交给schedule管理:、
使用<list>是因为一个配置文件 可以 定义多个定时执行的Method,只需要把每个trigger 加入list中,即可
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref local="writeTrigger" /> <ref local="cronTrigger" /> </list> </property> </bean>
最后把本xml加入总的spring配置文件中,完成配置。