首页 > 解决方案 > 如何立即执行 Java 程序,然后按照定义使用 Job 执行程序

问题描述

我正在尝试立即执行 java 程序,然后使用我在代码中定义的作业(调度程序)执行程序,现在我的调度程序每天从上午 9:00 到晚上 9:00 执行。我能怎么做?

这是我的java代码

public class FirstMainClassJob {
    
    private static Logger log = Logger.getLogger(FirstMainClassJob.class);
    
    static HelperUtl helperUtl = new HelperUtl();
    // Fire between 09AM and 09PM every day
    public static Trigger fireBetween9To9EveryDay() throws ParseException, SchedulerException, IOException {
        
        String jobTime=helperUtl.getProperty("CRON_JOB_TIME");
        
        log.info("Application running time is "+jobTime);

        JobDetail job1 = JobBuilder.newJob(GoogleDriveApiQuickstart.class).withIdentity("fireBetween9To9EveryDay", "group1").build();

        Trigger trigger = TriggerBuilder.newTrigger().withIdentity("fireBetween9To9EveryDay", "group1")
                .withSchedule(CronScheduleBuilder.cronSchedule("0 0 "+jobTime+" * * ?")).build();
        
        

        Scheduler scheduler1 = new StdSchedulerFactory().getScheduler();
        scheduler1.start();
        scheduler1.scheduleJob(job1, trigger);
        return trigger;
    }

    public static void main(String[] args) throws ParseException, SchedulerException, IOException {
        FirstMainClassJob.fireBetween9To9EveryDay();
    }

标签: javaschedulerquartz

解决方案


您可以使用

    Trigger trigger = TriggerBuilder.newTrigger().withIdentity("fireOnceAtStart", "group1")
            .withSchedule(SimpleScheduleBuilder.simpleSchedule().withRepeatCount(1)).build();

一开始就执行它。


推荐阅读