Java Example: Dynamic Job Scheduling with Quartz

后端 未结 5 1421
死守一世寂寞
死守一世寂寞 2020-12-12 16:42

I want to expose an user interface to define Quartz JOBs dynamically. Where user should have facility to define JOBs properties like JOB name, cron expression or time interv

5条回答
  •  一个人的身影
    2020-12-12 17:11

    package com.myproject;
    
    import java.text.ParseException;
    
    import org.quartz.JobBuilder;
    import org.quartz.JobDetail;
    import org.quartz.Scheduler;
    import org.quartz.SchedulerException;
    import org.quartz.SchedulerFactory;
    import org.quartz.impl.triggers.CronTriggerImpl;
    import org.springframework.stereotype.Component;
    
    @Component
    public class QuartzSchedulerExample {
        public QuartzSchedulerExample() {
            SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory();
            Scheduler scheduler;
            try {
                scheduler = schedFact.getScheduler();
                JobDetail details = JobBuilder.newJob(MyMailBean.class)
                        .withDescription("something")
                        .withIdentity("mejob","myGroup")
                        .storeDurably(true).build();
    
                CronTriggerImpl trigger = new CronTriggerImpl();
                trigger.setName("T1");
    
                try {
                    trigger.setCronExpression("0 0 0 * * ? *");
                } catch (ParseException e) {
                    e.printStackTrace();
                }
                trigger.setDescription("desc");
                scheduler.scheduleJob(details,trigger);
                scheduler.start();
            } catch (SchedulerException e) {
                e.printStackTrace();
            }
        }
    }
    

    The job will run every day 00:00:00 (hour:minute:second)

提交回复
热议问题