spring中定时任务包括三个部分
Job 表示需要定时处理的事情
Trigger 表示事件触发的时间点
Sceduler 调度器
其中 Job与Trigger是一对一关系,而Sceduler与Trigger是一对多关系
详细配置文件内容文章已介绍清楚 http://bbs.tianya.cn/post-53594-13-1.shtml
JobTask.java 定义定时处理任务
import java.util.Date; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class TaskJob { private static final Logger log = LoggerFactory.getLogger(TaskJob.class); public void sayHello(){ try{ log.info("task begin:"); System.out.println(new Date().toString()); log.info("task end!"); }catch(Exception e){ log.error("error",e); } } }
spring配置文件 applicationContext.xml需要配置对应的bean等
<bean name="taskJob" class="com.movies.Task.TaskJob"/> <!-- 定时任务 --> <bean id="methodInvokeJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <ref bean="taskJob"/> </property> <property name="targetMethod"> <value>sayHello</value> </property> </bean> <!-- 配置触发器 --> <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <ref bean="methodInvokeJobDetail"/> </property> <!-- 触发的时机 --> <property name="cronExpression"> <value>0 * 08-21 * * ?</value> </property> </bean> <!-- 调度器配置 --> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref local="cronTrigger"/> </list> </property> </bean>
cronExpression触发时机的格式可参考:http://www.360doc.com/content/10/0127/14/36589_14507247.shtml
常见问题 :
1、“org.springframework.scheduling.quartz.CronTriggerBean”没有对应属性cronExpression的setter方法 缺少quartz-all-1.6.0.jar包
2、org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘methodInvokingJobDetail‘ defined in class path resource [config/spring/spring-biz.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError:
org/apache/commons/collections/SetUtils
Caused by:
java.lang.NoClassDefFoundError: org/apache/commons/collections/SetUtils
这个要增加commons-collections-3.1.jar
其他问题请参考:http://blog.csdn.net/zdwzzu2006/article/details/6949129
spring quartz 实现定时任务及常见问题,布布扣,bubuko.com
原文:http://blog.csdn.net/yylxid/article/details/22506125