1、在xml中配置相关配置文件
<!-- 0点定时任务相关配置 -->
<!-- 要调用的定时任务的工作类 -->
<bean id="tjsyncData" class="com.web.action.SyncDataAction" autowire="byName"/>
<!-- 总管理类 设置lazy-init='false'的话容器启动就会执行调度程序 -->
<bean name="scheduler" lazy-init="false" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<!-- 引用了触发时间的bean -->
<list>
<ref bean="syncDataTime"/>
</list>
</property>
</bean>
<!-- 定义触发的时间 -->
<bean id="syncDataTime" class="org.springframework.scheduling.quartz.CronTriggerBean">
<!-- 引用调用类的bean -->
<property name="jobDetail" ref="syncData"/>
<!-- 秒 分 小时 -->
<property name="cronExpression" value="0 0 0 * * ?"/>
</bean>
<!-- 定义调用的类和调用的类的方法 -->
<bean id="syncData" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 调用的类 -->
<property name="targetObject" ref="tjsyncData"/>
<!-- 调用类中的方法 -->
<property name="targetMethod" value="syncData"/>
<property name="concurrent" value="false" />
</bean>
解释说明:
tjsyncData:定义一个要执行定时任务的javabean
scheduler :定义定时任务bean
syncData : 定义一个调用tjsyncData的syncData方法的bean
2、Cron表达式:由6个或7个由空格分隔的时间字段组成。
以下是网上找的相关资料,仅供参考!
下面是一些常用的关于时间配置的Cron表达式:
每隔5秒执行一次:*/5 * * * * ?
每隔1分钟执行一次:0 */1 * * * ?
每天23点执行一次:0 0 23 * * ?
每天凌晨1点执行一次:0 0 1 * * ?
每月1号凌晨1点执行一次:0 0 1 1 * ?
每月最后一天23点执行一次:0 0 23 L * ?
每周星期天凌晨1点实行一次:0 0 1 ? * L
在26分、29分、33分执行一次:0 26,29,33 * * * ?
每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?