quartz任务调度配置 解决jobDetail身份标识存在问题
applicationContext.xml配置:每五秒轮询一次。注意:周和日期不能同时为通配符”*“
<bean id="planInfoServiceImpl" class="com.xxx.xxx"></bean>
<bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="planInfoServiceImpl"></property>
<property name="targetMethod" value="backup"></property>
</bean>
<bean id="trigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="jobDetail"></property>
<property name="cronExpression" value="*/5 * * * * ? *"></property>
</bean>
业务逻辑从spring容器中拿到任务和触发器:
@Autowired
private JobDetail jobDetail;
@Autowired
private CronTrigger trigger;
业务逻辑创建管理:使用此方法不会采用shutdown销毁Scheduler,因为销毁Scheduler后再次加载jobDetail时会报身份标识存在的异常,索性任务调度使用完毕后使用pauseAll()暂停任务调度,需要时恢复调度,按需修改触发周期。
SchedulerFactory ss = new StdSchedulerFactory();
try {
if(sched==null){//第一次使用加载任务和触发器
sched = ss.getScheduler();
sched.scheduleJob(jobDetail, trigger);
}else{//非第一次触发,恢复任务调度
try {
trigger.setCronExpression("*/5 * * * * ? *");
} catch (ParseException e) {
e.printStackTrace();
}
sched.resumeAll();
}
if(!sched.isShutdown()){ sched.start();
}
} catch (SchedulerException e) {
e.printStackTrace();
}
注意事项:JobDetail可以携带参数,但是就笔者使用的1.8.6版本来说,参数必须在装配jobdetail和scheduler时指定,在使用过程中添加携带参数是无效的。
quartz任务调度配置 解决jobDetail身份标识存在问题的更多相关文章
- Quartz 定时器任务调度配置(以及如何配置quartz启动执行一次)
1. 添加maven依赖.pom.xml 中添加jar文件 <!-- 作业任务调度机制 --> <dependency> <groupId>org.quartz-s ...
- spring3 上配置quartz 任务调度
maven配置: <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>qu ...
- Spring配置Quartz任务调度、及 ThreadPool 线程池
ONE.除了引入 Spring 相关的 jar 包,还要引入 Quartz 的 jar 包 <dependency> <groupId>org.springframework& ...
- Quartz.NET配置
概述 Quartz.NET 在开源任务调度框架中的翘首,它提供了强大任务调度机制,难能可贵的是它同时保持了使用的简单性.Quartz 允许开发人员灵活地定义触发器的调度时间表,并可以对触发器和任务进行 ...
- (转)Quartz任务调度(1)概念例析快速入门
http://blog.csdn.net/qwe6112071/article/details/50991563 Quartz框架需求引入 在现实开发中,我们常常会遇到需要系统在特定时刻完成特定任务的 ...
- 【使用篇二】Quartz自动化配置集成(17)
出处:https://www.jianshu.com/p/49133c107143 定时任务在企业项目比较常用到,几乎所有的项目都会牵扯该功能模块,定时任务一般会处理指定时间点执行某一些业务逻辑.间隔 ...
- Spring中Quartz的配置
Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在Spring中怎样配置Quartz: 首先,来写一个测试被调度的类:(QuartzHelloWorldJ ...
- Quartz任务调度快速入门
Quartz任务调度快速入门 概述 了解Quartz体系结构 Quartz对任务调度的领域问题进行了高度的抽象,提出了调度器.任务和触发器这3个核心的概念,并在org.quartz通过接口和类对重要的 ...
- Spring中Quartz的配置及corn表达式
Quartz可以用来执行任务调度功能,如间隔一定时间调用执行任务.用起来还是蛮方便的.只要将你要调用的类配置到Spring配置文件即可. 在Spring的配置文件中配置Quartz. <!-- ...
随机推荐
- Cocos2d-x3.0游戏实例之《别救我》第六篇——从代码中获取UI控件
这篇的内容非常easy,获取UI控件,然后使用它. 还记得我们在UI编辑器中给三个button分别命名了吧? 如今要用上了. 笨木头花心贡献,啥?花心?不呢,是用心~ 转载请注明,原文地址: http ...
- 安卓开发学习2-官方例子Accelerometer
1.使用WakeLock防止屏幕被锁住,如果用户自己锁住屏幕,下次再开的时候还会重置一下,防止被锁. 2.SimulationView接收传感器事件,并且绘制.它实现SensorEventListen ...
- android.graphics(1) - Paint, Canvas, drawLine, drawPoint, drawRect, drawRoundRect, drawCircle, drawOval, drawArc
一.Paint与Canvas 像我们平时画图一样,需要两个工具,纸和笔.Paint就是相当于笔,而Canvas就是纸,这里叫画布. 所以,凡有跟要要画的东西的设置相关的,比如大小,粗细,画笔颜色,透明 ...
- 使用API Gateway
http://dockone.io/article/482 [编者的话]本系列的第一篇介绍了微服务架构模式.它讨论了采用微服务的优点和缺点,除了一些复杂的微服务,这种模式还是复杂应用的理想选择. Do ...
- beans.xml的用法
beans.xml <?xml version="1.0" encoding="UTF-8" ?> <beans xmlns="ht ...
- linux的RMP命令(rmp包的安装与反安装)
RMP 是 LINUX 下的一种软件的可执行程序,你只要安装它就可以了.这种软件安装包通常是一个RPM包(Redhat Linux Packet Manager,就是Redhat的包管理器),后缀是. ...
- python学习笔记(1)--遍历txt文件,正则匹配替换文字
遍历一个文件夹,把里面所有txt文件里的[]里的朗读时间删除,也就是替换为空. import os import re import shutil #os文件操作,re正则,shutil复制粘贴 pa ...
- Unix系统编程()文件控制操作fcntl
fcntl系统调用对一个打开的文件描述符执行一系列的控制操作. int fcntl(int fd, int cmd, -) cmd参数所支持的操作范围很广 fcntl的第三个参数以省略号表示,意味着可 ...
- etl工具,kettle实现循环
Kettle是一款国外开源的ETL工具,纯Java编写,可以在Window.Linux.Unix上运行,绿色无需安装,数据抽取高效稳定. 业务模型: 在关系型数据库中有张很大的数据存储表,被设计成奇偶 ...
- thinkphp 如何调用百度echarts 数据报表插件
echarts官网网址:http://echarts.baidu.com/ echarts源码地址:http://echarts.baidu.com/build/echarts-2.2.7.zip ...