一般做定时任务我用的是spring的quartz来做的,
来看看下面的配置吧
<!--要调度的对象-->
<bean id="mySechedule" class="com.xx.xx.schedule.xxSchedule"/>《!--自己的任务bean--》
<!-- 定义目标bean和bean中的方法 -->
<bean id="waccTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject"> <!-- targetObject是Spring定时器的特殊属性 -->
<ref local="mySechedule" />
</property>
<property name="targetMethod"> <!-- targetMethod是Spring定时器的特殊属性 -->
<value>LoadData</value> <!-- loadData定时任务的方法入口 -->
</property>
<property name="concurrent" value="false" />
</bean>
《!--设置任务执行频率(短周期)--》
<bean id="init_wacc" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="initTask" />
<property name="startDelay">
<value>6000</value> 《!--容器启动6s开始执行--》
</property>
<property name="repeatInterval">
<value>6000000</value> 《!-- 每6000秒执行一次 --》
</property>
</bean>
《!--设置任务执行频率(长周期)--》
<bean id="cron_wacc" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="waccTask" />
<property name="cronExpression">
<value>0 0 1 * * ?</value>《!-- 每天凌晨1点执行一次 --》
</property>
</bean>
<!-- 总管理 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="default" autowire="default">
<property name="triggers"> <!-- triggers是Spring定时器的特殊属性 -->
<list>
<ref local="cron_wacc" />
<ref local="init_wacc" />
</list>
</property>
<property name="autoStartup" value="true" />
</bean>