in support/quartz/src/main/java/org/apache/shiro/session/mgt/quartz/QuartzSessionValidationScheduler.java [195:246]
public void disableSessionValidation() {
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("Stopping Quartz session validation job...");
}
Scheduler scheduler;
try {
scheduler = getScheduler();
if (scheduler == null) {
if (LOGGER.isWarnEnabled()) {
LOGGER.warn("getScheduler() method returned a null Quartz scheduler, which is unexpected. Please "
+ "check your configuration and/or implementation. Returning quietly since there is no "
+ "validation job to remove (scheduler does not exist).");
}
return;
}
} catch (SchedulerException e) {
if (LOGGER.isWarnEnabled()) {
LOGGER.warn("Unable to acquire Quartz Scheduler. Ignoring and returning (already stopped?)", e);
}
return;
}
try {
scheduler.unscheduleJob(TriggerKey.triggerKey(JOB_NAME, Scheduler.DEFAULT_GROUP));
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("Quartz session validation job stopped successfully.");
}
} catch (SchedulerException e) {
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("Could not cleanly remove SessionValidationJob from Quartz scheduler. "
+ "Ignoring and stopping.", e);
}
}
this.enabled = false;
if (schedulerImplicitlyCreated) {
try {
scheduler.shutdown();
} catch (SchedulerException e) {
if (LOGGER.isWarnEnabled()) {
LOGGER.warn("Unable to cleanly shutdown implicitly created Quartz Scheduler instance.", e);
}
} finally {
setScheduler(null);
schedulerImplicitlyCreated = false;
}
}
}