How to run a Java program under cron and import the jars

后端 未结 3 1086
我寻月下人不归
我寻月下人不归 2021-01-06 17:20

My source file is .../MyDir/proj/myProj.java. The jar files are under .../MyDir/proj/library. The jar files are from HTMLUnit 2.10.

This is

3条回答
  •  北海茫月
    2021-01-06 18:01

    It is very simple to implement the CRON Job in java

    Required Library: quartz-2.0.0.jar

    Scheduler Initiator:

    import static org.quartz.JobBuilder.newJob;
    import static org.quartz.TriggerBuilder.newTrigger;
    
    import java.text.ParseException;
    
    import org.quartz.CronScheduleBuilder;
    import org.quartz.JobDetail;
    import org.quartz.Scheduler;
    import org.quartz.SchedulerException;
    import org.quartz.Trigger;
    import org.quartz.impl.StdSchedulerFactory;
    
    public class SchedulerListener{
    
        static Scheduler scheduler = null;
        public static void main(String[] args) {
            // Setup the Job class and the Job group
            JobDetail job = newJob(FileUploadToAzure.class).withIdentity(
                            "CronQuartzJob", "Group").build();
    
            // Create a Trigger that fires every hour.
            Trigger trigger;
            try {
                trigger = newTrigger()
                .withIdentity("TriggerName", "Group")
                .withSchedule(CronScheduleBuilder.cronSchedule("0 0 * * * ?"))
                .build();
    
                // Setup the Job and Trigger with Scheduler & schedule jobs
                scheduler = new StdSchedulerFactory().getScheduler();
                scheduler.start();
                scheduler.scheduleJob(job, trigger);
    
            } catch (ParseException | SchedulerException e) {
                e.printStackTrace();
            }
    
    
        }
    } 
    

    Scheduler Class:

    import org.quartz.Job;
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;
    
    public class SchedulerJob implements Job {
      @SuppressWarnings("unchecked")
        public void execute(JobExecutionContext context) throws JobExecutionException {
        System.out.println("Print at specific time");
    }
    }
    

    CronTrigger

    Expression  Meaning :
    ---------------------------
    0 0 12 * * ?    Fire at 12pm (noon) every day
    0 15 10 ? * *   Fire at 10:15am every day
    0 15 10 * * ?   Fire at 10:15am every day
    0 15 10 * * ? * Fire at 10:15am every day
    0 15 10 * * ? 2005  Fire at 10:15am every day during the year 2005
    0 * 14 * * ?    Fire every minute starting at 2pm and ending at 2:59pm, every day
    0 0/5 14 * * ?  Fire every 5 minutes starting at 2pm and ending at 2:55pm, every day
    

    More details about CRON Trigger, then please refer below link

    http://www.askmani.net/question/crontrigger/

提交回复
热议问题