转载

【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);  
正文到此结束
Loading...