对于一个已经配置好spring框架的项目,添加定时器很简单。
spring-mvc.xml文件中配置下面内容
1<!--加载指定目录下的@Controller @Service @Component @Repository--> 2<context:component-scan base-package="cn.com.app.pingandline"> 3</context:component-scan> 4 5<!--指定类PingDeviceServiceImpl的指定方法delMethod做定时器--> 6<bean id="timeDate" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> 7 <property name="targetObject" ref="pingDeviceServiceImpl"></property> 8 <property name="targetMethod" value="delMethod"></property> 9</bean> 10 11<!--指定 定时方法的执行时间--> 12<bean id="delSth" class="org.springframework.scheduling.quartz.CronTriggerBean"> 13 <property name="jobDetail" ref="timeDate"></property> 14 <property name="cronExpression"> 15 <value>0 0 12 * * ?</value> <!--每天中午12点执行定时方法--> 16 </property> 17</bean> 18 19<!--启动定时任务--> 20<bean id="startJob" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 21 <property name="triggers"> 22 <list> 23 <ref bean="delSth"/> 24 </list> 25 </property> 26</bean>
之后只需要在web.xml作简单配置,使spring-mvc.xml文件能加载即可。
这样,该定时器就能执行PingDeviceServiceImpl类中的delMethod方法。
若还需要配置定时器,仅需在 startJob这个bean中的list标签中再加一个ref标签。前面的内容同上所述配置即可