在JAVA里,关于定时器的文章有好多,我这里主要讲解Spring如何实现定时器功能,相对于一般的java定时器,Spring实现的定时器有如下好处:
1.实现方便:基于配置文件形式来实现
2.功能强大,可以在任意时间,任意方式调用多个调度任务。
下面具体说下Spring定时器的配置
主要配置两个文件:web.xml和spring配置文件
1.配置web.xml:
在web.xml文件里加入如下代码
<!-- =================================配置Spring定时器============================ -->
<context-param>
<param-name>contextConfigLocation</param-name>
<!--===============================加载Spring配置文件=========================-->
<param-value>/WEB-INF/classes/bizContext.xml</param-value>
</context-param>
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>4</load-on-startup>
</servlet>
<!-- ===============================配置Spring定时器结束======================= -->
2.配置Spring配置文件:bizContext.xml
在bizContext.xml里加入如下代码:
<!-- ===================配置Spring定时器============== -->
<bean id="mcScheduler"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="custTimer" />
</list>
</property>
</bean>
<bean id="custTimer"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<bean
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!--================执行的业务逻辑bean=============-->
<property name="targetObject" ref="customerBiz" />
<!--================执行的业务逻辑bean中的方法=============-->
<property name="targetMethod" value="doAddLostCustomer" />
</bean>
</property>
<property name="cronExpression">
<!--====================每天上午11点12分执行========-->
<value>0 12 11 ? * *</value>
</property>
</bean>
<!-- ===================配置Spring定时器============== -->