public class org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler extends java.lang.Object implements org.apache.shiro.session.mgt.SessionValidationScheduler
{
public static final long DEFAULT_SESSION_VALIDATION_INTERVAL;
private static final java.lang.String JOB_NAME;
private static final org.slf4j.Logger log;
private org.quartz.Scheduler scheduler;
private boolean schedulerImplicitlyCreated;
private boolean enabled;
private org.apache.shiro.session.mgt.ValidatingSessionManager sessionManager;
private long sessionValidationInterval;
public void <init>()
{
org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler v;
v := @this: org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: boolean schedulerImplicitlyCreated> = 0;
v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: boolean enabled> = 0;
v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: long sessionValidationInterval> = 3600000L;
return;
}
public void <init>(org.apache.shiro.session.mgt.ValidatingSessionManager)
{
org.apache.shiro.session.mgt.ValidatingSessionManager v;
org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler v;
v := @this: org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler;
v := @parameter: org.apache.shiro.session.mgt.ValidatingSessionManager;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: boolean schedulerImplicitlyCreated> = 0;
v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: boolean enabled> = 0;
v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: long sessionValidationInterval> = 3600000L;
v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.apache.shiro.session.mgt.ValidatingSessionManager sessionManager> = v;
return;
}
protected org.quartz.Scheduler getScheduler() throws org.quartz.SchedulerException
{
org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler v;
org.quartz.Scheduler v, v, v;
v := @this: org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler;
v = v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.quartz.Scheduler scheduler>;
if v != null goto label;
v = staticinvoke <org.quartz.impl.StdSchedulerFactory: org.quartz.Scheduler getDefaultScheduler()>();
v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.quartz.Scheduler scheduler> = v;
v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: boolean schedulerImplicitlyCreated> = 1;
label:
v = v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.quartz.Scheduler scheduler>;
return v;
}
public void setScheduler(org.quartz.Scheduler)
{
org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler v;
org.quartz.Scheduler v;
v := @this: org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler;
v := @parameter: org.quartz.Scheduler;
v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.quartz.Scheduler scheduler> = v;
return;
}
public void setSessionManager(org.apache.shiro.session.mgt.ValidatingSessionManager)
{
org.apache.shiro.session.mgt.ValidatingSessionManager v;
org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler v;
v := @this: org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler;
v := @parameter: org.apache.shiro.session.mgt.ValidatingSessionManager;
v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.apache.shiro.session.mgt.ValidatingSessionManager sessionManager> = v;
return;
}
public boolean isEnabled()
{
org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler v;
boolean v;
v := @this: org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler;
v = v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: boolean enabled>;
return v;
}
public void setSessionValidationInterval(long)
{
long v;
org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler v;
v := @this: org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler;
v := @parameter: long;
v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: long sessionValidationInterval> = v;
return;
}
public void enableSessionValidation()
{
org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler v;
org.quartz.JobBuilder v, v;
org.quartz.Scheduler v;
boolean v, v, v, v, v;
org.apache.shiro.session.mgt.ValidatingSessionManager v;
org.quartz.JobDataMap v;
java.lang.Throwable v;
long v, v;
org.quartz.TriggerBuilder v, v, v;
int v;
org.quartz.SimpleTrigger v;
org.quartz.SimpleScheduleBuilder v, v, v;
java.lang.String v, v;
org.quartz.JobDetail v;
org.slf4j.Logger v, v, v, v, v, v, v, v;
java.lang.Class v;
v := @this: org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler;
v = <org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.slf4j.Logger log>;
v = v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: long sessionValidationInterval>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Scheduling session validation job using Quartz with session validation interval of [\u]ms...");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
label:
v = staticinvoke <org.quartz.TriggerBuilder: org.quartz.TriggerBuilder newTrigger()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = virtualinvoke v.<org.quartz.TriggerBuilder: org.quartz.TriggerBuilder withIdentity(java.lang.String,java.lang.String)>(v, "DEFAULT");
v = staticinvoke <org.quartz.SimpleScheduleBuilder: org.quartz.SimpleScheduleBuilder simpleSchedule()>();
v = v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: long sessionValidationInterval>;
v = virtualinvoke v.<org.quartz.SimpleScheduleBuilder: org.quartz.SimpleScheduleBuilder withIntervalInMilliseconds(long)>(v);
v = (int) -1;
v = virtualinvoke v.<org.quartz.SimpleScheduleBuilder: org.quartz.SimpleScheduleBuilder withRepeatCount(int)>(v);
v = virtualinvoke v.<org.quartz.TriggerBuilder: org.quartz.TriggerBuilder withSchedule(org.quartz.ScheduleBuilder)>(v);
virtualinvoke v.<org.quartz.TriggerBuilder: org.quartz.Trigger build()>();
v = staticinvoke <org.quartz.JobBuilder: org.quartz.JobBuilder newJob(java.lang.Class)>(class "Lorg/apache/shiro/session/mgt/quartz/QuartzSessionValidationJob;");
v = virtualinvoke v.<org.quartz.JobBuilder: org.quartz.JobBuilder withIdentity(java.lang.String,java.lang.String)>("SessionValidationJob", "DEFAULT");
v = virtualinvoke v.<org.quartz.JobBuilder: org.quartz.JobDetail build()>();
v = interfaceinvoke v.<org.quartz.JobDetail: org.quartz.JobDataMap getJobDataMap()>();
v = v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.apache.shiro.session.mgt.ValidatingSessionManager sessionManager>;
virtualinvoke v.<org.quartz.JobDataMap: java.lang.Object put(java.lang.String,java.lang.Object)>("sessionManager", v);
v = virtualinvoke v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.quartz.Scheduler getScheduler()>();
interfaceinvoke v.<org.quartz.Scheduler: java.util.Date scheduleJob(org.quartz.JobDetail,org.quartz.Trigger)>(v, v);
v = v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: boolean schedulerImplicitlyCreated>;
if v == 0 goto label;
interfaceinvoke v.<org.quartz.Scheduler: void start()>();
v = <org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Successfully started implicitly created Quartz Scheduler instance.");
label:
v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: boolean enabled> = 1;
v = <org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Session validation job successfully scheduled with Quartz.");
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isErrorEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Error starting the Quartz session validation job.  Session validation may not occur.", v);
label:
return;
catch org.quartz.SchedulerException from label to label with label;
}
public void disableSessionValidation()
{
java.lang.Throwable v, v, v, v;
org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler v;
org.quartz.Scheduler v;
boolean v, v, v, v, v, v, v;
org.slf4j.Logger v, v, v, v, v, v, v, v, v, v, v, v;
org.quartz.TriggerKey v;
v := @this: org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler;
v = <org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Stopping Quartz session validation job...");
label:
v = virtualinvoke v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.quartz.Scheduler getScheduler()>();
if v != null goto label;
v = <org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isWarnEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>("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).");
label:
return;
label:
v := @caughtexception;
v = <org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isWarnEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Unable to acquire Quartz Scheduler.  Ignoring and returning (already stopped?)", v);
label:
return;
label:
v = staticinvoke <org.quartz.TriggerKey: org.quartz.TriggerKey triggerKey(java.lang.String,java.lang.String)>("SessionValidationJob", "DEFAULT");
interfaceinvoke v.<org.quartz.Scheduler: boolean unscheduleJob(org.quartz.TriggerKey)>(v);
v = <org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Quartz session validation job stopped successfully.");
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Throwable)>("Could not cleanly remove SessionValidationJob from Quartz scheduler.  Ignoring and stopping.", v);
label:
v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: boolean enabled> = 0;
v = v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: boolean schedulerImplicitlyCreated>;
if v == 0 goto label;
label:
interfaceinvoke v.<org.quartz.Scheduler: void shutdown()>();
label:
virtualinvoke v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: void setScheduler(org.quartz.Scheduler)>(null);
v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: boolean schedulerImplicitlyCreated> = 0;
goto label;
label:
v := @caughtexception;
v = <org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isWarnEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Unable to cleanly shutdown implicitly created Quartz Scheduler instance.", v);
label:
virtualinvoke v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: void setScheduler(org.quartz.Scheduler)>(null);
v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: boolean schedulerImplicitlyCreated> = 0;
goto label;
label:
v := @caughtexception;
virtualinvoke v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: void setScheduler(org.quartz.Scheduler)>(null);
v.<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: boolean schedulerImplicitlyCreated> = 0;
throw v;
label:
return;
catch org.quartz.SchedulerException from label to label with label;
catch org.quartz.SchedulerException from label to label with label;
catch org.quartz.SchedulerException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/shiro/session/mgt/quartz/QuartzSessionValidationScheduler;");
<org.apache.shiro.session.mgt.quartz.QuartzSessionValidationScheduler: org.slf4j.Logger log> = v;
return;
}
}