【Quartz指南】FAQ

  1. 怎样控制Job实例?

看看org.quartz.spi.JobFactory 和 the org.quartz.Scheduler.setJobFactory(..) 方法。

 

  1. 在一个job完成之后,我怎样阻止它被删掉?

设置JobDetail.setDurability(true)-job是一个“孤儿”(没有trigger引用这个job)时,这将指示Quartz不要删掉它。

 

  1. 怎样阻止job并行触发?

使job类实现StatefulJob接口而不是job接口。察看StatefulJob 的JavaDoc。

 

  1. 怎样使一个正在执行的job停下来?

看看org.quartz.InterruptableJob接口和Scheduler.interrupt(String, String)方法。

 

  1. 怎样使Jobs的执行串联起来?

有两个方法:

一、用监听器

二、用JobDataMap

 

  1. 怎样提高JDBC-JobStore的性能?

除了硬件的提高外,我们可以给我们建的Quartz表建索引:

create index idx_qrtz_t_next_fire_time on qrtz_triggers(NEXT_FIRE_TIME);

create index idx_qrtz_t_state on qrtz_triggers(TRIGGER_STATE);

create index idx_qrtz_t_nf_st on qrtz_triggers(TRIGGER_STATE,NEXT_FIRE_TIME);

create index idx_qrtz_ft_trig_name on qrtz_fired_triggers(TRIGGER_NAME);

create index idx_qrtz_ft_trig_group on qrtz_fired_triggers(TRIGGER_GROUP);

create index idx_qrtz_ft_trig_name on qrtz_fired_triggers(TRIGGER_NAME);

create index idx_qrtz_ft_trig_n_g on

qrtz_fired_triggers(TRIGGER_NAME,TRIGGER_GROUP);

create index idx_qrtz_ft_trig_inst_name on qrtz_fired_triggers(INSTANCE_NAME);

create index idx_qrtz_ft_job_name on qrtz_fired_triggers(JOB_NAME);

create index idx_qrtz_ft_job_group on qrtz_fired_triggers(JOB_GROUP);

 

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 【Quartz指南】FAQ

分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址