定时任务参数的设置

在定时任务编辑界面中的参数,怎么通过代码根据key修改value
图片

你好,这里需要用到 QuartzService 类:

// 会报一个warning,Service仅供jmix内部使用,并未开放,api将来可能变动,你可以先用着
@Autowired
private QuartzService quartzService;

private void updateJobParam() {
    var jobs = quartzService.getAllJobs();
    for (var job : jobs) {
        if (job.getJobName().equals("testJob")) { // 找到你要修改的job
            var params = job.getJobDataParameters();
            for (var param : params) {
                if (param.getKey().equals("param1")) { // 找到你要修改的参数
                    param.setValue("new Value"); // 设置新值
                }
            }
            // 更新job
            quartzService.updateQuartzJob(job, job.getJobDataParameters(), job.getTriggers(), true);
        }
    }
}

好的,谢谢