我想删除需要我的工作钥匙的工作。我只知道职位名称。请建议如何使用工作类别名称获得相同的信息。

最佳答案

如果您遍历调度程序实例的所有作业组,则可以找到此信息。从那里您获得jobKey。使用jobKey可以要求jobDetail,其中包含类信息。如果匹配,则返回密钥。

public JobKey getJobKeyByJobClass (Scheduler scheduler, String className){
    for (final String group : scheduler.getJobGroupNames()) {
        for (final JobKey jobKey : scheduler.getJobKeys(org.quartz.impl.matchers.GroupMatcher.groupEquals(group))) {
            if(className.equals(scheduler.getJobDetail(jobKey).getJobClass().getName())){
                return jobKey;
            }
        }
    }
    return null;
}

关于java - 从Quartz中的作业类别名称获取作业 key ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52147197/

10-11 00:33