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