spring quartz 实现定时任务及常见问题
2014-03-29 17:57
453 查看
spring中定时任务包括三个部分
Job 表示需要定时处理的事情
Trigger 表示事件触发的时间点
Sceduler 调度器
其中 Job与Trigger是一对一关系,而Sceduler与Trigger是一对多关系
详细配置文件内容文章已介绍清楚 http://bbs.tianya.cn/post-53594-13-1.shtml
JobTask.java 定义定时处理任务
spring配置文件 applicationContext.xml需要配置对应的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
其他问题请参考:/article/2792675.html
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
其他问题请参考:/article/2792675.html
相关文章推荐
- (一)spring3.2.0 quartz-2.2.1 整合 实现动态定时任务 解决service为null问题
- Spring 整合Quartz 2实现定时任务四:细化调整及一些已知的问题
- Spring 整合Quartz 2实现定时任务四:细化调整及一些已知的问题
- Spring 整合Quartz 2实现定时任务四:细化调整及一些已知的问题
- spring+quartz实现定时任务遇到问题总结(bean无法注入)
- Spring 整合Quartz 2实现定时任务四:细化调整及一些已知的问题
- Spring 整合Quartz 2实现定时任务四:细化调整及一些已知的问题
- Spring+Quartz实现定时任务的配置方法
- Spring+quartz 实现定时任务job集群配置【原】
- Spring 整合 Quartz 实现定时任务
- Spring 3整合Quartz 2实现定时任务--转
- Spring+Quartz整合,实现定时任务
- Spring 3整合Quartz 2实现定时任务三:动态暂停 恢复 修改和删除任务
- spring中轻松实现定时任务,quartz表达式的在线Cron表达式生成器推荐
- Spring集成quartz框架实现定时任务(一)
- Spring+Quartz实现定时任务的配置方法
- Spring+Quartz实现定时任务的配置方法
- Spring与Quartz的整合实现定时任务调度
- spring boot 集成quartz 2.0 实现前端动态配置(获取spring上下文)的两种方式,启动数据库中已开启定时任务
- Spring与Quartz的整合实现定时任务调度