`

关于quartz 2.x 一些记录

    博客分类:
  • j2ee
 
阅读更多

功能需要 审计(即对不同规则的定制的东西进行轮巡)如果每一个轮询都是一个任务的话,则很影响效率,所以将其建成就一个任务,检查最小时间,将最小时间作为下次执行的时间,根据时间和任务传递过来的参数判断执行的是那个规则。

所以此处的任务应当满足,时间的更新,datamap参数的更新。

log.info("------- Initializing ----------------------");

			    SchedulerFactory sf = new StdSchedulerFactory();
			    Scheduler sched = sf.getScheduler();
                 System.out.println(sched.getSchedulerName());
			    log.info("------- Initialization Complete -----------");

			    Date runTime = DateBuilder.evenSecondDate(new Date());
			    log.info("------- Scheduling Job  -------------------");
                //job1、trigger1 用来审计
			    JobDetail job1 = JobBuilder.newJob(DelSchedule.class).withIdentity("job1", "group1").build();
			    Trigger trigger1 = TriggerBuilder.newTrigger().withIdentity("trigger1", "group1").startAt(runTime).withSchedule(SimpleScheduleBuilder.simpleSchedule().repeatHourlyForever(12)).build();

     具体更新操作

    

 SchedulerFactory schedulerFactory = new StdSchedulerFactory(); 
             Scheduler scheduler = schedulerFactory.getScheduler("DefaultQuartzScheduler");
       JobDetail jobDetail = scheduler.getJobDetail(JobKey.jobKey("job1", "group1"));
      // retrieve the trigger
        Trigger oldTrigger = scheduler.getTriggersOfJob(JobKey.jobKey("job1", "group1")).get(0);

        // obtain a builder that would produce the trigger
        TriggerBuilder tb = oldTrigger.getTriggerBuilder();

        // update the schedule associated with the builder, and build the new trigger
        // (other builder methods could be called, to change the trigger in any desired way)
        Trigger newTrigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "group1").startAt(minDate).withSchedule(SimpleScheduleBuilder.simpleSchedule().repeatHourlyForever(12)).build();       
          jobDetail.getJobDataMap().put("id",newId);
          scheduler.addJob(jobDetail, true);
          scheduler.rescheduleJob(oldTrigger.getKey(), newTrigger);

 

对于其它一些需求或深入了解,可以进入官网详细了解http://quartz-scheduler.org/documentation/quartz-2.1.x/quick-start

 

 

分享到:
评论

相关推荐

    spring3-quartz1.x

    在Spring3中整合Quartz1.8.6,可以方便地管理并执行定时任务,但随着Spring框架的升级,如升级到Spring4,可能需要与更新版本的Quartz(如2.x)进行集成。 1. **Spring3的IoC容器与Quartz的结合** Spring3的...

    quartz2.1.x帮助手册

    在错误处理和日志记录方面,Quartz 2.1.x提供了回调机制和详细的日志配置。你可以根据需要配置错误处理器和日志级别,以便在出现问题时得到及时的反馈和调试信息。 最后,Quartz 2.1.x帮助手册还会详细介绍如何配置...

    quartz2.6.2+Common.Logging.Core+Common.Logging.rar

    2. 配置Quartz.NET,包括设置Scheduler实例、定义Job和Trigger。 3. 实现自定义的Job类,这将包含实际的任务逻辑。 4. 定义Trigger,定义何时以及如何触发Job执行。 5. 启动Scheduler并让它开始管理Job的执行。 ...

    基于spring-boot 2.x + quartz 的CRUD任务管理系统,适用于中小项目

    Spring Boot 2.x 和 Quartz 的组合为开发人员提供了一个强大且灵活的任务调度解决方案,尤其适合中小型企业项目。这个基于 Spring Boot 的 CRUD(创建、读取、更新、删除)任务管理系统利用了这两个框架的优势,简化...

    quartz所需的基本jar包

    Quartz是一款开源的作业调度框架,它允许开发者在Java应用程序中安排任务的执行。...然而,由于Quartz-1.6.0是较早的版本,对于新项目,可能需要考虑使用更新的版本,如Quartz 2.x,以获得更多的功能和性能改进。

    Springboot2+quartz实现定时器的增删改查.rar

    本教程将围绕"Springboot2+quartz实现定时器的增删改查"这一主题,详细介绍如何在Spring Boot 2.x项目中集成Quartz来实现定时任务,并进行相关的管理操作。 首先,我们需要在Spring Boot项目中引入Quartz的依赖。在...

    Spring3.x企业应用开发实战书中源码

    8. **集成其他框架**:Spring3.x具有很好的可扩展性,能够与许多其他框架无缝集成,如Struts、JSF、EJB、Quartz等,为开发者提供了灵活的选择。 9. **RESTful支持**:Spring3.x强化了对RESTful风格的Web服务的支持...

    springMVC+springSecurity3.x+Mybaits3.x的权限系统

    主要技术:springMVC springSecurity3.x Mybaits3.x mysql log4j md5 主要功能有: 用户管理 角色管理 资源管理 服务器配置管理 登陆信息管理 操作日志管理 查询用户 角色列表 资源列表 预警设置 用户登录记录 ...

    Spring整合Quartz

    <version>2.x.x.RELEASE ``` #### 2.2 配置Quartz 在Spring配置文件(如`applicationContext.xml`)中,我们需要配置Quartz的Scheduler工厂bean,如下: ```xml <bean id="schedulerFactoryBean" class="org....

    quartz+spring示例

    <version>2.x.x.RELEASE ``` 2. **配置Quartz**: 在Spring配置文件(如`applicationContext.xml`)中,我们需要配置Quartz的JobStore,ThreadPool,以及Scheduler。例如: ```xml ...

    定时器Quartz.net2.0内置操作类

    `Common.Logging.dll`是日志抽象库,Quartz.NET利用它来提供日志记录服务,方便开发者选择合适的日志框架进行调试和错误跟踪。 以下是一个简单的示例,展示了如何使用Quartz.NET 2.0创建一个简单的定时任务: ```...

    spring3.x企业应用实战开发-源码

    2. **AOP(面向切面编程)**:Spring的AOP模块提供了在运行时织入切面的能力,用于日志记录、事务管理、性能监控等。源码中会展示如何定义切面、通知类型以及如何配置AOP代理。 3. **Bean的生命周期管理**:Spring...

    ios-Quartz2D绘制小黄人,萌哒哒!!.zip

    1. **坐标系统**:Quartz 2D 使用左手坐标系,原点位于视图的左上角,X轴向右延伸,Y轴向下延伸。 2. **路径(CGPath)**:路径是Quartz 2D中最基本的绘图元素,用于定义图形的轮廓。你可以通过添加直线、曲线、...

    quartz-2.2.3 需要的5个jar包

    这意味着在你的Quartz项目中,你可以通过SLF4J API使用Log4j进行日志记录,而无需直接引用Log4j的API。 为了在项目中使用这些jar包,你需要将它们添加到你的类路径(classpath)中,这通常可以通过IDE的构建配置...

    Quartz_net官方开发指南

    ### Quartz.net官方开发指南知识点详解 #### 一、Quartz.net简介与实例化 Quartz.net是基于.NET框架的一...此外,示例代码也揭示了Quartz.net在实际应用中的基本用法,包括作业定义、触发器配置和日志记录等关键环节。

    quartz调度总结

    通常,这包括主jar文件quartz-x.x.x.jar以及可能需要的core和optional目录下的其他jar文件。如果使用JDBCJobStore存储作业和触发器的信息,还需要包含相应的JDBC驱动jar文件。 **二、作业(Job)和触发器(Trigger)...

    spring3.x企业应用开发实战源代码

    2. **Chapter 2**:可能是关于Spring的环境搭建和基本概念的介绍,源代码可能包含简单的Hello World程序,演示了如何创建一个Spring项目,配置Spring环境,并执行一个基本的Spring应用。 3. **Chapter 7**:通常...

    Spring-Reference_zh_CN(Spring中文参考手册)

    13.9.2. form标签 13.9.3. input标签 13.9.4. checkbox标签 13.9.5. radiobutton标签 13.9.6. password标签 13.9.7. select标签 13.9.8. option标签 13.9.9. options标签 13.9.10. textarea标签 13.9.11. hidden标签...

    spring chm文档

    13.11.2. 对模型的支持:ModelMap (ModelAndView) 13.11.3. 对视图的支持: RequestToViewNameTranslator 13.12. 其它资源 14. 集成视图技术 14.1. 简介 14.2. JSP和JSTL 14.2.1. 视图解析器 14.2.2. 'Plain-...

    Spring 2.0 开发参考手册

    13.9.2. form标签 13.9.3. input标签 13.9.4. checkbox标签 13.9.5. radiobutton标签 13.9.6. password标签 13.9.7. select标签 13.9.8. option标签 13.9.9. options标签 13.9.10. textarea标签 13.9.11. ...

Global site tag (gtag.js) - Google Analytics