`

关于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调度总结

    通常,这包括主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 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-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 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