public class org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer extends java.lang.Object
{
static final org.slf4j.Logger LOG;
private org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl store;
private final java.io.File legacyStoreDirectory;
public void <init>(java.io.File)
{
org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer v;
java.io.File v;
v := @this: org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer;
v := @parameter: java.io.File;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: java.io.File legacyStoreDirectory> = v;
return;
}
public void load() throws java.io.IOException
{
org.slf4j.Logger v, v;
org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer v;
java.io.IOException v, v;
java.io.File v;
java.lang.Exception v;
org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl v, v, v, v;
v := @this: org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer;
v = new org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl;
specialinvoke v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl: void <init>()>();
v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl store> = v;
v = v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl store>;
v = v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: java.io.File legacyStoreDirectory>;
virtualinvoke v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl: void setDirectory(java.io.File)>(v);
v = v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl store>;
virtualinvoke v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl: void setFailIfDatabaseIsLocked(boolean)>(1);
label:
v = v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl store>;
virtualinvoke v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl: void start()>();
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Legacy store load failed: ", v);
throw v;
label:
v := @caughtexception;
v = <org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Legacy store load failed: ", v);
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
return;
catch java.io.IOException from label to label with label;
catch java.lang.Exception from label to label with label;
}
public void unload() throws java.io.IOException
{
java.lang.Throwable v;
org.slf4j.Logger v;
org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl v, v;
org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer v;
java.io.IOException v;
java.lang.Exception v;
v := @this: org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer;
v = v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl store>;
if v == null goto label;
label:
v = v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl store>;
virtualinvoke v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl: void stop()>();
label:
v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl store> = null;
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Legacy store unload failed: ", v);
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v := @caughtexception;
v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl store> = null;
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void startReplay(org.apache.activemq.store.kahadb.scheduler.JobSchedulerStoreImpl) throws java.io.IOException
{
org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer v;
boolean v, v;
org.slf4j.Logger v, v, v, v;
java.util.Iterator v;
org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerImpl v;
java.util.Set v;
java.io.IOException v, v, v;
java.lang.Exception v;
org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl v, v;
java.lang.Object v;
org.apache.activemq.store.kahadb.scheduler.JobSchedulerStoreImpl v;
v := @this: org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer;
v := @parameter: org.apache.activemq.store.kahadb.scheduler.JobSchedulerStoreImpl;
specialinvoke v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: void checkLoaded()>();
if v != null goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Cannot replay to a null store");
throw v;
label:
v = v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl store>;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl: java.util.Set getJobSchedulerNames()>();
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl store>;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl: org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerImpl getJobScheduler(java.lang.String)>(v);
v = <org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("Replay of legacy store {} starting.", v);
specialinvoke v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: void replayScheduler(org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerImpl,org.apache.activemq.store.kahadb.scheduler.JobSchedulerStoreImpl)>(v, v);
goto label;
label:
v = <org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Replay of legacy store complate.");
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Failed during replay of legacy store: ", v);
throw v;
label:
v := @caughtexception;
v = <org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>("Failed during replay of legacy store: ", v);
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
return;
catch java.io.IOException from label to label with label;
catch java.lang.Exception from label to label with label;
}
private final void replayScheduler(org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerImpl, org.apache.activemq.store.kahadb.scheduler.JobSchedulerStoreImpl) throws java.lang.Exception
{
org.apache.activemq.protobuf.Buffer v;
org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer v;
long v, v, v, v;
int v;
java.lang.String v, v, v;
boolean v;
org.slf4j.Logger v;
java.util.Iterator v;
org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerImpl v;
java.util.List v;
java.lang.Object v;
org.apache.activemq.store.kahadb.data.KahaAddScheduledJobCommand v;
org.apache.activemq.store.kahadb.scheduler.JobSchedulerStoreImpl v;
v := @this: org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer;
v := @parameter: org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerImpl;
v := @parameter: org.apache.activemq.store.kahadb.scheduler.JobSchedulerStoreImpl;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerImpl: java.util.List getAllJobs()>();
v = virtualinvoke v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerImpl: java.lang.String getName()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = <org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object)>("Storing job from legacy store to new store: {}", v);
v = new org.apache.activemq.store.kahadb.data.KahaAddScheduledJobCommand;
specialinvoke v.<org.apache.activemq.store.kahadb.data.KahaAddScheduledJobCommand: void <init>()>();
virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaAddScheduledJobCommand: java.lang.Object setScheduler(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobImpl: java.lang.String getJobId()>();
virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaAddScheduledJobCommand: java.lang.Object setJobId(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobImpl: long getStartTime()>();
virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaAddScheduledJobCommand: java.lang.Object setStartTime(long)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobImpl: java.lang.String getCronEntry()>();
virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaAddScheduledJobCommand: java.lang.Object setCronEntry(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobImpl: long getDelay()>();
virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaAddScheduledJobCommand: java.lang.Object setDelay(long)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobImpl: long getPeriod()>();
virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaAddScheduledJobCommand: java.lang.Object setPeriod(long)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobImpl: int getRepeat()>();
virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaAddScheduledJobCommand: java.lang.Object setRepeat(int)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobImpl: long getNextExecutionTime()>();
virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaAddScheduledJobCommand: java.lang.Object setNextExecutionTime(long)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobImpl: org.apache.activemq.protobuf.Buffer getPayload()>();
virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaAddScheduledJobCommand: java.lang.Object setPayload(org.apache.activemq.protobuf.Buffer)>(v);
virtualinvoke v.<org.apache.activemq.store.kahadb.scheduler.JobSchedulerStoreImpl: org.apache.activemq.store.kahadb.disk.journal.Location store(org.apache.activemq.store.kahadb.JournalCommand)>(v);
goto label;
label:
return;
}
private final void checkLoaded() throws java.io.IOException
{
org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl v;
org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer v;
java.io.IOException v;
v := @this: org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer;
v = v.<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: org.apache.activemq.store.kahadb.scheduler.legacy.LegacyJobSchedulerStoreImpl store>;
if v != null goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Cannot replay until legacy store is loaded.");
throw v;
label:
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/activemq/store/kahadb/scheduler/legacy/LegacyStoreReplayer;");
<org.apache.activemq.store.kahadb.scheduler.legacy.LegacyStoreReplayer: org.slf4j.Logger LOG> = v;
return;
}
}