我试图找到它,但没有结果。我希望对象具有 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
关于java - 使用类字段中的 cron 表达式安排作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38599150/