我试图找到它,但是没有结果。我想让对象具有bash脚本和cron表达式的路径,指定何时运行它。这是SpringBoot项目。我看到这样的:

public class TestScript {

    private String cronExpression;
    private String pathToFile;

    public void execute() {
        // either it's @Scheduled or execute another way
    }
}


有可能吗?如果可以的话,请甚至指导我一点。

最佳答案

好的,我设法制作了可动态创建作业的自定义服务:

@Service
public class DynamicJob {

    public void schedule(TestScript testScript) {
        try {
            JobDetail job = JobBuilder.newJob(TestScript.class)
                    .withIdentity(testScript.getName(), "default group")
                    .build();

            Trigger trigger = TriggerBuilder.newTrigger()
                    .withIdentity(testScript.getName().concat(" trigger"), "groupAll")
                    .withSchedule(CronScheduleBuilder.cronSchedule(testScript.getCronExpression()))
                    .build();

            Scheduler scheduler = new StdSchedulerFactory().getScheduler();
            scheduler.start();
            scheduler.scheduleJob(job, trigger);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}


TestScript类实现org.quartz.Job,并且我使用quartz库版本2.2.1

07-24 13:31