Lon*_*iks 3 java quartz-scheduler
现在我正在搜索Quartz库中按作业名称获取作业键的功能.
我看到Scheduler有方法,通过组名称中使用获得作业键GroupMatcher<JobKey>也Quartz有NameMatcher它可以是用户的方式相同GroupMatcher
Set<JobKey> getJobKeys(NameMatcher<JobKey> matcher) throws SchedulerException;
Run Code Online (Sandbox Code Playgroud)
您知道Quartz库中是否已存在此功能?
JobKey使用a 获取作业名称的API NameMatcher不存在AFAIK.
但是,通过迭代键,从名称中获取作业密钥实际上很容易:
public JobKey findJobKey(String jobName) {
// Check running jobs first
for (JobExecutionContext runningJob : scheduler.getCurrentlyExecutingJobs()) {
if (Objects.equals(jobName, runningJob.getJobDetail().getKey().getName())) {
return runningJob.getJobDetail().getKey();
}
}
// Check all jobs if not found
for (String groupName : scheduler.getJobGroupNames()) {
for (JobKey jobKey : scheduler.getJobKeys(GroupMatcher.jobGroupEquals(groupName))) {
if (Objects.equals(jobName, jobKey.getName())) {
return jobKey;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3718 次 |
| 最近记录: |