Java 类org.quartz.impl.matchers.StringMatcher.StringOperatorName 实例源码
项目:lams
文件:DefaultClusteredJobStore.java
/**
* <p>
* Pause all of the <code>{@link Trigger}s</code> in the given group.
* </p>
* <p>
* The JobStore should "remember" that the group is paused, and impose the pause on any new triggers that are added to
* the group while the group is paused.
* </p>
*/
@Override
public Collection<String> pauseTriggers(GroupMatcher<TriggerKey> matcher) throws JobPersistenceException {
HashSet<String> pausedGroups = new HashSet<String>();
lock();
try {
Set<TriggerKey> triggerKeys = getTriggerKeys(matcher);
for (TriggerKey key : triggerKeys) {
triggerFacade.addPausedGroup(key.getGroup());
pausedGroups.add(key.getGroup());
pauseTrigger(key);
}
// make sure to account for an exact group match for a group that doesn't yet exist
StringMatcher.StringOperatorName operator = matcher.getCompareWithOperator();
if (operator.equals(StringOperatorName.EQUALS)) {
triggerFacade.addPausedGroup(matcher.getCompareToValue());
pausedGroups.add(matcher.getCompareToValue());
}
} finally {
unlock();
}
return pausedGroups;
}
项目:lams
文件:DefaultClusteredJobStore.java
/**
* <p>
* Pause all of the <code>{@link org.quartz.JobDetail}s</code> in the given group - by pausing all of their
* <code>Trigger</code>s.
* </p>
* <p>
* The JobStore should "remember" that the group is paused, and impose the pause on any new jobs that are added to the
* group while the group is paused.
* </p>
*/
@Override
public Collection<String> pauseJobs(GroupMatcher<JobKey> matcher) throws JobPersistenceException {
Collection<String> pausedGroups = new HashSet<String>();
lock();
try {
Set<JobKey> jobKeys = getJobKeys(matcher);
for (JobKey jobKey : jobKeys) {
for (OperableTrigger trigger : getTriggersForJob(jobKey)) {
pauseTrigger(trigger.getKey());
}
pausedGroups.add(jobKey.getGroup());
}
// make sure to account for an exact group match for a group that doesn't yet exist
StringMatcher.StringOperatorName operator = matcher.getCompareWithOperator();
if (operator.equals(StringOperatorName.EQUALS)) {
jobFacade.addPausedGroup(matcher.getCompareToValue());
pausedGroups.add(matcher.getCompareToValue());
}
} finally {
unlock();
}
return pausedGroups;
}
项目:redis-quartz
文件:RedisJobStore.java
@Override
public Set<JobKey> getJobKeys(GroupMatcher<JobKey> matcher)
throws JobPersistenceException {
if (matcher.getCompareWithOperator() != StringOperatorName.EQUALS)
throw new UnsupportedOperationException();
Set<JobKey> jobKeys = new HashSet<>();
String jobGroupSetKey = createJobGroupSetKey(matcher.getCompareToValue());
try (Jedis jedis = pool.getResource()) {
lockPool.acquire();
if(jedis.sismember(JOB_GROUPS_SET, jobGroupSetKey)) {
Set<String> jobs = jedis.smembers(jobGroupSetKey);
for(String job : jobs)
jobKeys.add(new JobKey(job.split(":")[2], job.split(":")[1]));
}
} catch (Exception ex) {
log.error("could not get job keys for job group: " + jobGroupSetKey, ex);
throw new JobPersistenceException(ex.getMessage(), ex.getCause());
} finally {
lockPool.release();
}
return jobKeys;
}
项目:redis-quartz
文件:RedisJobStore.java
@Override
public Set<TriggerKey> getTriggerKeys(GroupMatcher<TriggerKey> matcher)
throws JobPersistenceException {
if (matcher.getCompareWithOperator() != StringOperatorName.EQUALS)
throw new UnsupportedOperationException();
Set<TriggerKey> triggerKeys = new HashSet<>();
String triggerGroupSetKey = createTriggerGroupSetKey(matcher.getCompareToValue());
try (Jedis jedis = pool.getResource()) {
lockPool.acquire();
if(jedis.sismember(TRIGGER_GROUPS_SET, triggerGroupSetKey)) {
Set<String> triggers = jedis.smembers(triggerGroupSetKey);
for(String trigger : triggers)
triggerKeys.add(new TriggerKey(trigger.split(":")[2], trigger.split(":")[1]));
}
} catch (Exception ex) {
log.error("could not get trigger keys for trigger group: " + triggerGroupSetKey, ex);
throw new JobPersistenceException(ex.getMessage(), ex.getCause());
} finally {
lockPool.release();
}
return triggerKeys;
}
项目:redis-quartz
文件:RedisJobStore.java
@Override
public Collection<String> pauseTriggers(GroupMatcher<TriggerKey> matcher)
throws JobPersistenceException {
if (matcher.getCompareWithOperator() != StringOperatorName.EQUALS)
throw new UnsupportedOperationException();
Set<String> pausedTriggerdGroups = new HashSet<>();
String triggerGroupSetKey = createTriggerGroupSetKey(matcher.getCompareToValue());
try (Jedis jedis = pool.getResource()) {
lockPool.acquire();
if (pauseTriggers(triggerGroupSetKey, jedis))
pausedTriggerdGroups.add(triggerGroupSetKey); // as we currently support only EQUALS matcher's operator, the paused group set will consist of one paused group only.
} catch (Exception ex) {
log.error("could not pause triggers group: " + triggerGroupSetKey, ex);
throw new JobPersistenceException(ex.getMessage(), ex.getCause());
} finally {
lockPool.release();
}
return pausedTriggerdGroups;
}
项目:redis-quartz
文件:RedisJobStore.java
@Override
public Collection<String> pauseJobs(GroupMatcher<JobKey> groupMatcher)
throws JobPersistenceException {
if (groupMatcher.getCompareWithOperator() != StringOperatorName.EQUALS)
throw new UnsupportedOperationException();
Set<String> pausedJobGroups = new HashSet<>();
String jobGroupSetKey = createJobGroupSetKey(groupMatcher.getCompareToValue());
try (Jedis jedis = pool.getResource()) {
lockPool.acquire();
if (jedis.sadd(PAUSED_JOB_GROUPS_SET, jobGroupSetKey) > 0) {
pausedJobGroups.add(jobGroupSetKey);
Set<String> jobs = jedis.smembers(jobGroupSetKey);
for (String job : jobs)
pauseJob(job, jedis);
}
} catch (Exception ex) {
log.error("could not pause job group: " + jobGroupSetKey, ex);
throw new JobPersistenceException(ex.getMessage(), ex.getCause());
} finally {
lockPool.release();
}
return pausedJobGroups;
}
项目:kettle_support_kettle8.0
文件:QuartzScheduleServiceImpl.java
/**
* 查询所有定时任务
*
* @param entity
* @return Map
* @throws SchedulerException
*/
@SuppressWarnings({ "rawtypes", "serial", "unchecked" })
@Override
public Object selectByWhere(T entity) throws SchedulerException {
List<String> groups = scheduler.getJobGroupNames();
List<HashMap<String, Object>> jobList = new ArrayList<HashMap<String, Object>>();
for (String group : groups) {
if (null != entity.getGroup() && !group.contains(entity.getGroup())) {
continue;
}
Set<JobKey> jobKeys = scheduler.getJobKeys(new GroupMatcher(group,
StringOperatorName.EQUALS) {
});
for (JobKey jobKey : jobKeys) {
if (null != entity.getName()
&& !jobKey.toString().contains(entity.getName())) {
continue;
}
JobDetail jobDetail = scheduler.getJobDetail(jobKey);
HashMap<String, Object> jobInfoMap = new HashMap<String, Object>();
List<? extends Trigger> triggers = scheduler
.getTriggersOfJob(jobKey);
jobInfoMap.put("triggers", triggers);
jobInfoMap.put("jobDetail", jobDetail);
jobInfoMap.put("params",
JSONArray.fromObject(jobDetail.getJobDataMap())
.toString());
jobInfoMap.put("type", "Kettle");
jobList.add(jobInfoMap);
}
}
Map<String, Object> map = new HashMap<String, Object>();
map.put("jobList", jobList);
map.put("scheduler", scheduler);
return map;
}
项目:lams
文件:JobStoreSupport.java
/**
* <p>
* Pause all of the <code>{@link org.quartz.Trigger}s</code> matching the
* given groupMatcher.
* </p>
*
* @see #resumeTriggerGroup(java.sql.Connection, org.quartz.impl.matchers.GroupMatcher)
*/
public Set<String> pauseTriggerGroup(Connection conn,
GroupMatcher<TriggerKey> matcher) throws JobPersistenceException {
try {
getDelegate().updateTriggerGroupStateFromOtherStates(
conn, matcher, STATE_PAUSED, STATE_ACQUIRED,
STATE_WAITING, STATE_WAITING);
getDelegate().updateTriggerGroupStateFromOtherState(
conn, matcher, STATE_PAUSED_BLOCKED, STATE_BLOCKED);
List<String> groups = getDelegate().selectTriggerGroups(conn, matcher);
// make sure to account for an exact group match for a group that doesn't yet exist
StringMatcher.StringOperatorName operator = matcher.getCompareWithOperator();
if (operator.equals(StringOperatorName.EQUALS) && !groups.contains(matcher.getCompareToValue())) {
groups.add(matcher.getCompareToValue());
}
for (String group : groups) {
if (!getDelegate().isTriggerGroupPaused(conn, group)) {
getDelegate().insertPausedTriggerGroup(conn, group);
}
}
return new HashSet<String>(groups);
} catch (SQLException e) {
throw new JobPersistenceException("Couldn't pause trigger group '"
+ matcher + "': " + e.getMessage(), e);
}
}
项目:kettle
文件:QuartzScheduleServiceImpl.java
/**
* 查询所有定时任务
*
* @param entity
* @return Map
* @throws SchedulerException
*/
@SuppressWarnings({ "rawtypes", "serial", "unchecked" })
@Override
public Object selectByWhere(T entity) throws SchedulerException {
List<String> groups = scheduler.getJobGroupNames();
List<HashMap<String, Object>> jobList = new ArrayList<HashMap<String, Object>>();
for (String group : groups) {
if (null != entity.getGroup() && !group.contains(entity.getGroup())) {
continue;
}
Set<JobKey> jobKeys = scheduler.getJobKeys(new GroupMatcher(group,
StringOperatorName.EQUALS) {
});
for (JobKey jobKey : jobKeys) {
if (null != entity.getName()
&& !jobKey.toString().contains(entity.getName())) {
continue;
}
JobDetail jobDetail = scheduler.getJobDetail(jobKey);
HashMap<String, Object> jobInfoMap = new HashMap<String, Object>();
List<? extends Trigger> triggers = scheduler
.getTriggersOfJob(jobKey);
jobInfoMap.put("triggers", triggers);
jobInfoMap.put("jobDetail", jobDetail);
jobInfoMap.put("params",
JSONArray.fromObject(jobDetail.getJobDataMap())
.toString());
jobInfoMap.put("type", "Kettle");
jobList.add(jobInfoMap);
}
}
Map<String, Object> map = new HashMap<String, Object>();
map.put("jobList", jobList);
map.put("scheduler", scheduler);
return map;
}
项目:redis-quartz
文件:RedisJobStore.java
@Override
public Collection<String> resumeJobs(GroupMatcher<JobKey> matcher)
throws JobPersistenceException {
if (matcher.getCompareWithOperator() != StringOperatorName.EQUALS)
throw new UnsupportedOperationException();
Set<String> resumedJobGroups = new HashSet<>();
String jobGroupSetKey = createJobGroupSetKey(matcher.getCompareToValue());
try (Jedis jedis = pool.getResource()) {
lockPool.acquire();
if(!jedis.sismember(JOB_GROUPS_SET, jobGroupSetKey))
throw new JobPersistenceException("job group: " + jobGroupSetKey + " does not exist");
if (jedis.srem(PAUSED_JOB_GROUPS_SET, jobGroupSetKey) > 0)
resumedJobGroups.add(jobGroupSetKey);
Set<String> jobs = jedis.smembers(jobGroupSetKey);
for (String job : jobs)
resumeJob(new JobKey(job.split(":")[2], job.split(":")[1]), jedis);
} catch (Exception ex) {
log.error("could not resume job group: " + jobGroupSetKey, ex);
throw new JobPersistenceException(ex.getMessage(), ex.getCause());
} finally {
lockPool.release();
}
return resumedJobGroups;
}