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身份标识存在问题的更多相关文章

  1. Quartz 定时器任务调度配置(以及如何配置quartz启动执行一次)

    1. 添加maven依赖.pom.xml 中添加jar文件 <!-- 作业任务调度机制 --> <dependency> <groupId>org.quartz-s ...

  2. spring3 上配置quartz 任务调度

    maven配置: <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>qu ...

  3. Spring配置Quartz任务调度、及 ThreadPool 线程池

    ONE.除了引入 Spring 相关的 jar 包,还要引入 Quartz 的 jar 包 <dependency> <groupId>org.springframework& ...

  4. Quartz.NET配置

    概述 Quartz.NET 在开源任务调度框架中的翘首,它提供了强大任务调度机制,难能可贵的是它同时保持了使用的简单性.Quartz 允许开发人员灵活地定义触发器的调度时间表,并可以对触发器和任务进行 ...

  5. (转)Quartz任务调度(1)概念例析快速入门

    http://blog.csdn.net/qwe6112071/article/details/50991563 Quartz框架需求引入 在现实开发中,我们常常会遇到需要系统在特定时刻完成特定任务的 ...

  6. 【使用篇二】Quartz自动化配置集成(17)

    出处:https://www.jianshu.com/p/49133c107143 定时任务在企业项目比较常用到,几乎所有的项目都会牵扯该功能模块,定时任务一般会处理指定时间点执行某一些业务逻辑.间隔 ...

  7. Spring中Quartz的配置

    Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在Spring中怎样配置Quartz: 首先,来写一个测试被调度的类:(QuartzHelloWorldJ ...

  8. Quartz任务调度快速入门

    Quartz任务调度快速入门 概述 了解Quartz体系结构 Quartz对任务调度的领域问题进行了高度的抽象,提出了调度器.任务和触发器这3个核心的概念,并在org.quartz通过接口和类对重要的 ...

  9. Spring中Quartz的配置及corn表达式

    Quartz可以用来执行任务调度功能,如间隔一定时间调用执行任务.用起来还是蛮方便的.只要将你要调用的类配置到Spring配置文件即可. 在Spring的配置文件中配置Quartz. <!-- ...

随机推荐

  1. 【Android】15.1 后台任务和前台任务

    分类:C#.Android.VS2015: 创建日期:2016-02-29 一.简介 Android的活动(Activities)可以有多种状态,具体取决于用户的行为以及对操作系统的要求.虽然Acti ...

  2. Struts2源码阅读(一)_Struts2框架流程概述

    1. Struts2架构图  当外部的httpservletrequest到来时 ,初始到了servlet容器(所以虽然Servlet和Action是解耦合的,但是Action依旧能够通过httpse ...

  3. jq实现千分位的转换

    一.千分位转换位整数 var sum = '2,034,300';var x = sum.split(",");var plan_sum = parseFloat(x.join(& ...

  4. Unix系统编程():分散输入和集中输出(Scatter-Gather IO):readv和writev

    分散输入和集中输出(Scatter-Gather IO):readv和writev 请问这个v又代表什么? readv和writev系统调用分别实现了分散输入和集中输出的功能. #include< ...

  5. svn提示out of date

    你需要先update一下,应该会有一个冲突标志,你查看一下历史日志,找到是谁在你之前进行了提交,和他商议一下如何合并你们两个人的修改,然后在你本地处理后,标记“冲突已解决”,最后再次commit

  6. Ajax的两个用法

    1.实现的效果是:通过一个函数,里面调用Ajax,函数的返回值是Ajax成功调用之后得到的返回值. 用jQuery进行简单的演示: function getRobotInfo(id) { var ip ...

  7. 实践jQuery Easyui后本地化有感

    这个星期在忙着easyui的例子中的大部分功能的本地化.一开始给我的感觉就是把jquery easyui中的每个demo的代码粘贴复制一遍. 可是,真正在做的过程中,我才发现,我错了. 在仿写easy ...

  8. 8天学通MongoDB(mark)

    转自:http://www.cnblogs.com/huangxincheng/archive/2012/02/18/2356595.html 关于mongodb的好处,优点之类的这里就不说了,唯一要 ...

  9. (转)Direct3d 设备丢失 (device lost)

    1.什么时候设备丢失 一个Direct3D设备, 有两种状态: 操作状态或丢失状态. 操作状态: 是设备的正常状态, 设备按预期运行, 并且能present所有渲染效果 丢失状态: 所有渲染操作悄然失 ...

  10. ES 中的 POST 和 PUT 的区别

    0.什么是Restful架构 比较难说清楚,这部分大雾状态,引ruanyf 理解RESTful架构 的几句总结吧: Fielding将他对互联网软件的架构原则,定名为REST,即Representat ...