java - 使用类字段中的 cron 表达式安排作业

标签 java spring cron scheduled-tasks

我试图找到它,但没有结果。我希望对象具有 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/

相关文章:

ios - 将信息从服务器发送到我的 iPhone 的最有效方式是什么?

Java 简单乘法错误

Java - COUNTDOWNLATCH 中的计数

java - 如何从谷歌地图网址获取静态 map 图像。 java

java - 根据spring profile导入bean资源

java - Spring需要重新启动服务器来刷新域对象

spring-data跨店实体管理

linux - 每 105 分钟运行一次 cron

java - 是否有类似于 Java/C++ 上的 for-loop 的 Ruby 版本?

python - 如何在 cron 作业中进行 flask API 调用时关闭数据库连接?