quartz corn表达式
 0 0/10 0-23 * * ? 
0-23点间 每10分钟

解决方案 »

  1.   

    能不能把这个定时触发器的流程告诉我一下啊,这个表达式是没问题了.
    在servlet的init()方法里启动了该触发器
    JobDetail job = new JobDetail("job", "group", SendJob.class);// 启动一个定时器
    SchedulerFactory sf = new StdSchedulerFactory();
    sched = sf.getScheduler();//得到定时器表达式
    String cronExpression = config.getInitParameter("cronExpression");
    CronTrigger trigger = new CronTrigger("trigger","group","job","group",cronExpression);sched.addJob(job, true);
    sched.scheduleJob(trigger);

    sched.start();
    sendJob 是个发送短信的业务类  ,但是在servlet的service里调用了发送短信的业务方法,我老觉得那个定时器和这个发送短信的业务方法没有什么关联  ,还请各位给解释一下    谢谢了 ...
      

  2.   

    sendJob要实现Job接口
    下面是个完整的演示程序
    package test;import java.text.ParseException;
    import java.util.Map;import org.quartz.CronTrigger;
    import org.quartz.JobDetail;
    import org.quartz.Scheduler;
    import org.quartz.SchedulerException;
    import org.quartz.Trigger;
    import org.quartz.impl.StdSchedulerFactory;public class CronTriggerExample { public static void main(String[] args) throws SchedulerException, ParseException {
    Scheduler scheduler=new StdSchedulerFactory().getScheduler();
    scheduler.start();
    JobDetail jobDetail=new JobDetail("messageJob",Scheduler.DEFAULT_GROUP,MessageJob.class);
    Map map=jobDetail.getJobDataMap();
    map.put("message","This is a message from Quartz");
    String cronExpression="* 0/10 0-23 * * ?";
    Trigger trigger=new CronTrigger("cronTrigger",Scheduler.DEFAULT_GROUP,cronExpression);
    scheduler.scheduleJob(jobDetail,trigger);
    }}package test;import java.util.Map;import org.quartz.Job;
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;public class MessageJob implements Job { public void execute(JobExecutionContext context) throws JobExecutionException {
    Map properties=context.getJobDetail().getJobDataMap();
    System.out.println("Previous Fire Time: "+context.getPreviousFireTime());
    }}