`
yimeng528
  • 浏览: 188283 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Quartz之一个任务绑定多个触发器

阅读更多
参见官方示例: 
Java代码   收藏代码
  1. SchedulerFactory sf = new StdSchedulerFactory(  
  2.                 "org/quartz/examples/example14/quartz_priority.properties");  
  3.         Scheduler sched = sf.getScheduler();     
  4.   
  5.  JobDetail job = newJob(TriggerEchoJob.class)  
  6.             .withIdentity("TriggerEchoJob")  
  7.             .build();              
  8.   
  9.         Date startTime = futureDate(5, IntervalUnit.SECOND);  
  10.           
  11.         // First trigger has priority of 1, and will repeat after 5 seconds  
  12.         Trigger trigger1 = newTrigger()  
  13.             .withIdentity("PriorityNeg5Trigger5SecondRepeat")  
  14.             .startAt(startTime)  
  15.             .withSchedule(simpleSchedule().withRepeatCount(1).withIntervalInSeconds(5))  
  16.             .withPriority(1)  
  17.             .forJob(job)  
  18.             .build();  
  19.   
  20.         // Second trigger has default priority of 5 (default), and will repeat after 10 seconds  
  21.         Trigger trigger2 = newTrigger()  
  22.             .withIdentity("Priority5Trigger10SecondRepeat")  
  23.             .startAt(startTime)  
  24.             .withSchedule(simpleSchedule().withRepeatCount(1).withIntervalInSeconds(10))  
  25.             .forJob(job)  
  26.             .build();  
  27.           
  28.         // Third trigger has priority 10, and will repeat after 15 seconds  
  29.         Trigger trigger3 = newTrigger()  
  30.             .withIdentity("Priority10Trigger15SecondRepeat")  
  31.             .startAt(startTime)  
  32.             .withSchedule(simpleSchedule().withRepeatCount(1).withIntervalInSeconds(15))  
  33.             .withPriority(10)  
  34.             .forJob(job)  
  35.             .build();  
  36.   
  37.         // Tell quartz to schedule the job using our trigger  
  38.         sched.scheduleJob(job, trigger1);  
  39.         sched.scheduleJob(trigger2);  
  40.         sched.scheduleJob(trigger3);  
  41.   
  42.         // Start up the scheduler (nothing can actually run until the   
  43.         // scheduler has been started)  
  44.         sched.start();  

quartz_priority.properties 
Java代码   收藏代码
  1. org.quartz.scheduler.instanceName: PriorityExampleScheduler  
  2. org.quartz.threadPool.threadCount: 1  
  3. org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool  
  4. org.quartz.jobStore.class: org.quartz.simpl.RAMJobStore  

<iframe style="font-size: 12px; line-height: 18px;" src="http://liuzidong.iteye.com/iframe_ggbd/794" frameborder="0" scrolling="no" width="468" height="60"></iframe>

分享到:
评论

相关推荐

    quartz一个定时触发实例

    7. **集群支持**:Quartz可以部署在集群环境中,多个调度器实例可以共享相同的作业和触发器,确保高可用性和负载均衡。 8. **API和配置**:Quartz提供丰富的API和XML配置文件,可以灵活地设置任务执行的细节,如...

    基于java和quartz的简单任务调度

    总结来说,本项目展示了如何利用Java和Quartz库搭建一个基础的任务调度系统,涵盖了任务定义、触发器设定、日志管理和数据库连接池等关键组件。这样的系统有助于提高工作效率,减少人工干预,确保任务按计划执行。

    任务调度系统基于Quartz.net

    Quartz.NET是一个开源的任务调度框架,它允许开发者在.NET环境中创建、安排和执行各种类型的任务。这个系统的主要目的是实现应用程序的后台任务自动化,比如定期数据备份、清理过期记录、发送邮件等。在"任务调度...

    quartz-1.6.0 jar&src

    Quartz 支持多个作业和触发器的组合,可以为一个作业设置多个触发器,也可以为一个触发器绑定多个作业。 在使用 quartz-1.6.0.jar 时,开发者通常需要: - 引入 quartz.jar 到项目类路径,以便使用 Quartz 提供的...

    Quartz执行定时任务

    总的来说,这篇博客会是学习和理解Quartz执行定时任务的好资源,涵盖了从基本概念到实践应用的多个层面。通过阅读和实践,开发者能够掌握如何利用Quartz提升应用程序的自动化程度,实现高效的任务调度。

    Quartz定时任务完全攻略

    2. 分布式调度:通过集群配置,多个Scheduler实例可以共享任务,提高系统扩展性。 3. 回调机制:Job可以监听自身的执行状态,如`@Override public void execute(JobExecutionContext context) throws ...

    Quartz 任务调度器

    5. **集群(Clustering)**:Quartz 还支持集群部署,多个调度器实例可以在分布式环境中协作工作,确保高可用性和负载均衡。 6. **API 与配置**:Quartz 提供了全面的 API 供开发者使用,同时也可以通过 XML 配置...

    数据库管理quartz定时任务

    - 在分布式环境中,多个Quartz Scheduler实例可以共享同一个数据库,实现任务的负载均衡和故障转移。 - 当某个节点失败时,其他节点可以从数据库中获取未执行的任务继续执行,确保任务的完整性。 6. **监控与管理...

    QuartzDemo.zip

    - 一个作业可以有多个触发器,意味着一个任务可以被安排在多个时间点或按照多种模式执行。 - 同样,一个触发器也可以关联到多个作业,使得触发事件时可以执行多个任务。 3. **作业存储与恢复**: - Quartz.NET...

    开发工具:基于Quartz的定时任务服务系统

    3. **集群支持**:在多服务器环境下,Quartz可以实现任务的负载均衡,确保任务仅被执行一次,防止重复。 4. **插件化**:Quartz提供了丰富的插件,如JobStore插件用于存储任务和触发器,TriggerListener和...

    定时任务quartz jar包

    5. **Quartz的工作原理**:Quartz内部有一个Scheduler,它负责管理所有的作业和触发器。当Scheduler启动后,会根据触发器的设定检查是否有需要执行的作业,并在合适的时间调用作业的execute方法。 6. **注意事项**...

    Quartz业务调度入门实例15个_注释带中文翻译

    3. 作业队列:处理多个并发执行的作业,例如邮件发送、数据同步等。 4. 作业状态管理:暂停、恢复、删除作业和触发器。 5. 作业依赖:一个作业依赖于另一个作业的完成,形成作业链。 五、Quartz的调度策略 1. 持续...

    quartz定时任务Demo,直接可运行

    这个"quartz定时任务Demo"是一个可以直接在Eclipse集成开发环境中运行的实例,它提供了清晰的注释,方便初学者理解和学习。 1. **Quartz基本概念** - **Job**:作业是实际执行的任务,是实现了`org.quartz.Job`...

    Spring的定时任务开发及对Quartz和Timer支持

    不过,由于Timer的线程模型存在一些限制,如所有定时任务都在同一个线程中运行,因此在多任务并发执行时可能会有性能问题。因此,对于复杂的定时任务需求,推荐使用Quartz这样的专业调度库。 Quartz与Spring的整合...

    Quartz定时任务框架学习总结

    Quartz还支持多节点集群,当在一个集群中的一个节点失败时,其他节点可以接管调度任务,确保高可用性。 7. **插件扩展**: Quartz提供了丰富的插件,如EmailSenderPlugin用于发送邮件通知,JobStore用于不同的...

    java quartz定时任务

    1. **java_quartz测试项目**:这个可能是包含Quartz集成的Java项目,可能包含了一个或多个Job类,以及对应的Trigger配置。这些Job类会实现具体的业务逻辑,而Trigger则定义了它们的执行时机。 2. **截图描述文档**...

    quartz任务调度

    3. 考虑到任务的并发性和资源管理,如果多个任务可能同时运行,需要考虑如何控制并发策略。 总的来说,Quartz为Java应用提供了一套强大且灵活的任务调度解决方案。通过结合Spring,我们可以更方便地管理和控制这些...

    Quartz任务调度快速入门

    一个 `Trigger` 可以与多个 `Calendar` 关联,以便排除或包含某些时间点。 - **示例**:例如,如果某个任务每周一执行,但遇到法定节假日时不执行,则可以使用 `Calendar` 来排除这些日期。 - **实现**:Quartz ...

    quartz定时任务

    - **多数据源配置**:在Spring中配置多个DataSource bean,每个对应不同的数据库连接。 - **Job执行时选择数据源**:在Job中,根据任务需求动态选择要使用的数据源。可以使用AOP或ThreadLocal来实现数据源切换。 ...

    quartz定时器不依赖任何框架

    一个Job可以被多个Trigger触发,一个Trigger也可以触发多个Job。 6. **插件支持**:Quartz允许扩展其功能,例如,通过插件实现邮件通知、日志记录等。 7. **易用性**:Quartz提供了一个直观的配置和API,使得...

Global site tag (gtag.js) - Google Analytics