public class org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable extends java.lang.Object implements java.lang.Runnable
{
private final org.apache.logging.log4j.core.util.CronExpression cronExpression;
private final java.lang.Runnable runnable;
private org.apache.logging.log4j.core.config.CronScheduledFuture scheduledFuture;
final org.apache.logging.log4j.core.config.ConfigurationScheduler this$0;
public void <init>(org.apache.logging.log4j.core.config.ConfigurationScheduler, java.lang.Runnable, org.apache.logging.log4j.core.util.CronExpression)
{
org.apache.logging.log4j.core.util.CronExpression v;
org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable v;
org.apache.logging.log4j.core.config.ConfigurationScheduler v;
java.lang.Runnable v;
v := @this: org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable;
v := @parameter: org.apache.logging.log4j.core.config.ConfigurationScheduler;
v := @parameter: java.lang.Runnable;
v := @parameter: org.apache.logging.log4j.core.util.CronExpression;
v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.config.ConfigurationScheduler this$0> = v;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.util.CronExpression cronExpression> = v;
v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: java.lang.Runnable runnable> = v;
return;
}
public void setScheduledFuture(org.apache.logging.log4j.core.config.CronScheduledFuture)
{
org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable v;
org.apache.logging.log4j.core.config.CronScheduledFuture v;
v := @this: org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable;
v := @parameter: org.apache.logging.log4j.core.config.CronScheduledFuture;
v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.config.CronScheduledFuture scheduledFuture> = v;
return;
}
public void run()
{
org.apache.logging.log4j.core.util.CronExpression v, v, v, v, v, v;
java.util.concurrent.ScheduledFuture v, v, v;
java.util.Date v, v, v, v, v, v, v;
org.apache.logging.log4j.core.config.ConfigurationScheduler v, v, v, v, v, v, v, v, v, v, v;
java.lang.Runnable v;
byte v;
java.lang.Long v;
org.apache.logging.log4j.Logger v, v, v, v, v;
org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable v;
java.lang.Throwable v, v;
long v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v;
java.util.concurrent.TimeUnit v, v, v;
java.lang.InterruptedException v;
org.apache.logging.log4j.core.config.CronScheduledFuture v, v, v, v;
v := @this: org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable;
label:
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.config.CronScheduledFuture scheduledFuture>;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.CronScheduledFuture: java.util.Date getFireTime()>();
v = virtualinvoke v.<java.util.Date: long getTime()>();
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v - v;
v = v cmp 0L;
if v <= 0 goto label;
v = <org.apache.logging.log4j.core.config.ConfigurationScheduler: org.apache.logging.log4j.Logger LOGGER>;
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.config.ConfigurationScheduler this$0>;
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler: java.lang.String name>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("{} Cron thread woke up {} millis early. Sleeping", v, v);
label:
staticinvoke <java.lang.Thread: void sleep(long)>(v);
label:
goto label;
label:
v := @caughtexception;
label:
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: java.lang.Runnable runnable>;
interfaceinvoke v.<java.lang.Runnable: void run()>();
label:
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.util.CronExpression cronExpression>;
v = new java.util.Date;
specialinvoke v.<java.util.Date: void <init>()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.util.CronExpression: java.util.Date getNextValidTimeAfter(java.util.Date)>(v);
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.config.ConfigurationScheduler this$0>;
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.config.ConfigurationScheduler this$0>;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.ConfigurationScheduler: long nextFireInterval(java.util.Date)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.ConfigurationScheduler: java.util.concurrent.ScheduledFuture schedule(java.lang.Runnable,long,java.util.concurrent.TimeUnit)>(v, v, v);
v = <org.apache.logging.log4j.core.config.ConfigurationScheduler: org.apache.logging.log4j.Logger LOGGER>;
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.config.ConfigurationScheduler this$0>;
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler: java.lang.String name>;
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.util.CronExpression cronExpression>;
v = virtualinvoke v.<org.apache.logging.log4j.core.util.CronExpression: java.lang.String getCronExpression()>();
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)>("{} Cron expression {} scheduled to fire again at {}", v, v, v);
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.config.CronScheduledFuture scheduledFuture>;
virtualinvoke v.<org.apache.logging.log4j.core.config.CronScheduledFuture: void reset(java.util.concurrent.ScheduledFuture,java.util.Date)>(v, v);
goto label;
label:
v := @caughtexception;
v = <org.apache.logging.log4j.core.config.ConfigurationScheduler: org.apache.logging.log4j.Logger LOGGER>;
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.config.ConfigurationScheduler this$0>;
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler: java.lang.String name>;
interfaceinvoke v.<org.apache.logging.log4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("{} caught error running command", v, v);
label:
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.util.CronExpression cronExpression>;
v = new java.util.Date;
specialinvoke v.<java.util.Date: void <init>()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.util.CronExpression: java.util.Date getNextValidTimeAfter(java.util.Date)>(v);
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.config.ConfigurationScheduler this$0>;
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.config.ConfigurationScheduler this$0>;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.ConfigurationScheduler: long nextFireInterval(java.util.Date)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.ConfigurationScheduler: java.util.concurrent.ScheduledFuture schedule(java.lang.Runnable,long,java.util.concurrent.TimeUnit)>(v, v, v);
v = <org.apache.logging.log4j.core.config.ConfigurationScheduler: org.apache.logging.log4j.Logger LOGGER>;
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.config.ConfigurationScheduler this$0>;
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler: java.lang.String name>;
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.util.CronExpression cronExpression>;
v = virtualinvoke v.<org.apache.logging.log4j.core.util.CronExpression: java.lang.String getCronExpression()>();
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)>("{} Cron expression {} scheduled to fire again at {}", v, v, v);
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.config.CronScheduledFuture scheduledFuture>;
virtualinvoke v.<org.apache.logging.log4j.core.config.CronScheduledFuture: void reset(java.util.concurrent.ScheduledFuture,java.util.Date)>(v, v);
goto label;
label:
v := @caughtexception;
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.util.CronExpression cronExpression>;
v = new java.util.Date;
specialinvoke v.<java.util.Date: void <init>()>();
v = virtualinvoke v.<org.apache.logging.log4j.core.util.CronExpression: java.util.Date getNextValidTimeAfter(java.util.Date)>(v);
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.config.ConfigurationScheduler this$0>;
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.config.ConfigurationScheduler this$0>;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.ConfigurationScheduler: long nextFireInterval(java.util.Date)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.ConfigurationScheduler: java.util.concurrent.ScheduledFuture schedule(java.lang.Runnable,long,java.util.concurrent.TimeUnit)>(v, v, v);
v = <org.apache.logging.log4j.core.config.ConfigurationScheduler: org.apache.logging.log4j.Logger LOGGER>;
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.config.ConfigurationScheduler this$0>;
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler: java.lang.String name>;
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.util.CronExpression cronExpression>;
v = virtualinvoke v.<org.apache.logging.log4j.core.util.CronExpression: java.lang.String getCronExpression()>();
interfaceinvoke v.<org.apache.logging.log4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object,java.lang.Object)>("{} Cron expression {} scheduled to fire again at {}", v, v, v);
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.config.CronScheduledFuture scheduledFuture>;
virtualinvoke v.<org.apache.logging.log4j.core.config.CronScheduledFuture: void reset(java.util.concurrent.ScheduledFuture,java.util.Date)>(v, v);
throw v;
label:
return;
catch java.lang.InterruptedException 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;
}
public java.lang.String toString()
{
org.apache.logging.log4j.core.util.CronExpression v;
java.util.Date v;
org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable v;
java.lang.String v, v;
org.apache.logging.log4j.core.config.CronScheduledFuture v;
v := @this: org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable;
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.util.CronExpression cronExpression>;
v = virtualinvoke v.<org.apache.logging.log4j.core.util.CronExpression: java.lang.String getCronExpression()>();
v = v.<org.apache.logging.log4j.core.config.ConfigurationScheduler$CronRunnable: org.apache.logging.log4j.core.config.CronScheduledFuture scheduledFuture>;
v = virtualinvoke v.<org.apache.logging.log4j.core.config.CronScheduledFuture: java.util.Date getFireTime()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.util.Date)>(v, 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[])>("CronRunnable{\u - \u0001");
return v;
}
}