public class org.apache.activemq.store.journal.JournalTransactionStore extends java.lang.Object implements org.apache.activemq.store.TransactionStore
{
private final org.apache.activemq.store.journal.JournalPersistenceAdapter peristenceAdapter;
private final java.util.Map inflightTransactions;
private final java.util.Map preparedTransactions;
private boolean doingRecover;
public void <init>(org.apache.activemq.store.journal.JournalPersistenceAdapter)
{
java.util.LinkedHashMap v, v;
org.apache.activemq.store.journal.JournalPersistenceAdapter v;
org.apache.activemq.store.journal.JournalTransactionStore v;
v := @this: org.apache.activemq.store.journal.JournalTransactionStore;
v := @parameter: org.apache.activemq.store.journal.JournalPersistenceAdapter;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map inflightTransactions> = v;
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map preparedTransactions> = v;
v.<org.apache.activemq.store.journal.JournalTransactionStore: org.apache.activemq.store.journal.JournalPersistenceAdapter peristenceAdapter> = v;
return;
}
public void prepare(org.apache.activemq.command.TransactionId) throws java.io.IOException
{
java.lang.Throwable v, v;
org.apache.activemq.store.journal.JournalTransactionStore v;
org.apache.activemq.command.JournalTransaction v;
java.util.Map v, v, v, v;
org.apache.activemq.store.journal.JournalPersistenceAdapter v;
java.lang.Object v;
org.apache.activemq.command.TransactionId v;
v := @this: org.apache.activemq.store.journal.JournalTransactionStore;
v := @parameter: org.apache.activemq.command.TransactionId;
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map inflightTransactions>;
entermonitor v;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map inflightTransactions>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
if v != null goto label;
return;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: org.apache.activemq.store.journal.JournalPersistenceAdapter peristenceAdapter>;
v = new org.apache.activemq.command.JournalTransaction;
specialinvoke v.<org.apache.activemq.command.JournalTransaction: void <init>(byte,org.apache.activemq.command.TransactionId,boolean)>(1, v, 0);
virtualinvoke v.<org.apache.activemq.store.journal.JournalPersistenceAdapter: org.apache.activeio.journal.RecordLocation writeCommand(org.apache.activemq.command.DataStructure,boolean)>(v, 1);
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map preparedTransactions>;
entermonitor v;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map preparedTransactions>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void replayPrepare(org.apache.activemq.command.TransactionId) throws java.io.IOException
{
java.lang.Throwable v, v;
org.apache.activemq.store.journal.JournalTransactionStore v;
java.util.Map v, v, v, v;
java.lang.Object v;
org.apache.activemq.command.TransactionId v;
v := @this: org.apache.activemq.store.journal.JournalTransactionStore;
v := @parameter: org.apache.activemq.command.TransactionId;
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map inflightTransactions>;
entermonitor v;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map inflightTransactions>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
if v != null goto label;
return;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map preparedTransactions>;
entermonitor v;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map preparedTransactions>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public org.apache.activemq.store.journal.JournalTransactionStore$Tx getTx(java.lang.Object, org.apache.activeio.journal.RecordLocation)
{
java.lang.Throwable v;
org.apache.activemq.store.journal.JournalTransactionStore$Tx v;
org.apache.activemq.store.journal.JournalTransactionStore v;
org.apache.activeio.journal.RecordLocation v;
java.util.Map v, v, v;
java.lang.Object v, v;
v := @this: org.apache.activemq.store.journal.JournalTransactionStore;
v := @parameter: java.lang.Object;
v := @parameter: org.apache.activeio.journal.RecordLocation;
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map inflightTransactions>;
entermonitor v;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map inflightTransactions>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
if v != null goto label;
v = new org.apache.activemq.store.journal.JournalTransactionStore$Tx;
specialinvoke v.<org.apache.activemq.store.journal.JournalTransactionStore$Tx: void <init>(org.apache.activeio.journal.RecordLocation)>(v);
v = v;
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map inflightTransactions>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return v;
catch java.lang.Throwable from label to label with label;
}
public void commit(org.apache.activemq.command.TransactionId, boolean, java.lang.Runnable, java.lang.Runnable) throws java.io.IOException
{
java.lang.Throwable v, v;
org.apache.activemq.store.journal.JournalTransactionStore v;
java.lang.Runnable v, v;
org.apache.activemq.command.JournalTransaction v, v;
java.util.Map v, v, v, v;
org.apache.activemq.command.TransactionId v;
boolean v, v;
org.apache.activemq.store.journal.JournalPersistenceAdapter v, v;
java.lang.Object v;
v := @this: org.apache.activemq.store.journal.JournalTransactionStore;
v := @parameter: org.apache.activemq.command.TransactionId;
v := @parameter: boolean;
v := @parameter: java.lang.Runnable;
v := @parameter: java.lang.Runnable;
if v == null goto label;
interfaceinvoke v.<java.lang.Runnable: void run()>();
label:
if v == 0 goto label;
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map preparedTransactions>;
entermonitor v;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map preparedTransactions>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map inflightTransactions>;
entermonitor v;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map inflightTransactions>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
if v != null goto label;
if v == null goto label;
interfaceinvoke v.<java.lang.Runnable: void run()>();
label:
return;
label:
v = virtualinvoke v.<org.apache.activemq.command.TransactionId: boolean isXATransaction()>();
if v == 0 goto label;
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: org.apache.activemq.store.journal.JournalPersistenceAdapter peristenceAdapter>;
v = new org.apache.activemq.command.JournalTransaction;
specialinvoke v.<org.apache.activemq.command.JournalTransaction: void <init>(byte,org.apache.activemq.command.TransactionId,boolean)>(2, v, v);
virtualinvoke v.<org.apache.activemq.store.journal.JournalPersistenceAdapter: org.apache.activeio.journal.RecordLocation writeCommand(org.apache.activemq.command.DataStructure,boolean)>(v, 1);
goto label;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: org.apache.activemq.store.journal.JournalPersistenceAdapter peristenceAdapter>;
v = new org.apache.activemq.command.JournalTransaction;
specialinvoke v.<org.apache.activemq.command.JournalTransaction: void <init>(byte,org.apache.activemq.command.TransactionId,boolean)>(4, v, v);
virtualinvoke v.<org.apache.activemq.store.journal.JournalPersistenceAdapter: org.apache.activeio.journal.RecordLocation writeCommand(org.apache.activemq.command.DataStructure,boolean)>(v, 1);
label:
if v == null goto label;
interfaceinvoke v.<java.lang.Runnable: void run()>();
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public org.apache.activemq.store.journal.JournalTransactionStore$Tx replayCommit(org.apache.activemq.command.TransactionId, boolean) throws java.io.IOException
{
java.lang.Throwable v, v;
org.apache.activemq.store.journal.JournalTransactionStore v;
java.util.Map v, v, v, v;
java.lang.Object v, v;
org.apache.activemq.command.TransactionId v;
boolean v;
v := @this: org.apache.activemq.store.journal.JournalTransactionStore;
v := @parameter: org.apache.activemq.command.TransactionId;
v := @parameter: boolean;
if v == 0 goto label;
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map preparedTransactions>;
entermonitor v;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map preparedTransactions>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map inflightTransactions>;
entermonitor v;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map inflightTransactions>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void rollback(org.apache.activemq.command.TransactionId) throws java.io.IOException
{
java.lang.Throwable v, v;
org.apache.activemq.store.journal.JournalTransactionStore v;
org.apache.activemq.command.JournalTransaction v, v;
java.util.Map v, v, v, v;
org.apache.activemq.store.journal.JournalPersistenceAdapter v, v;
java.lang.Object v;
org.apache.activemq.command.TransactionId v;
boolean v;
v := @this: org.apache.activemq.store.journal.JournalTransactionStore;
v := @parameter: org.apache.activemq.command.TransactionId;
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map inflightTransactions>;
entermonitor v;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map inflightTransactions>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
if v == null goto label;
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map preparedTransactions>;
entermonitor v;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map preparedTransactions>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.command.TransactionId: boolean isXATransaction()>();
if v == 0 goto label;
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: org.apache.activemq.store.journal.JournalPersistenceAdapter peristenceAdapter>;
v = new org.apache.activemq.command.JournalTransaction;
specialinvoke v.<org.apache.activemq.command.JournalTransaction: void <init>(byte,org.apache.activemq.command.TransactionId,boolean)>(3, v, 0);
virtualinvoke v.<org.apache.activemq.store.journal.JournalPersistenceAdapter: org.apache.activeio.journal.RecordLocation writeCommand(org.apache.activemq.command.DataStructure,boolean)>(v, 1);
goto label;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: org.apache.activemq.store.journal.JournalPersistenceAdapter peristenceAdapter>;
v = new org.apache.activemq.command.JournalTransaction;
specialinvoke v.<org.apache.activemq.command.JournalTransaction: void <init>(byte,org.apache.activemq.command.TransactionId,boolean)>(5, v, 0);
virtualinvoke v.<org.apache.activemq.store.journal.JournalPersistenceAdapter: org.apache.activeio.journal.RecordLocation writeCommand(org.apache.activemq.command.DataStructure,boolean)>(v, 1);
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void replayRollback(org.apache.activemq.command.TransactionId) throws java.io.IOException
{
java.lang.Throwable v, v;
org.apache.activemq.store.journal.JournalTransactionStore v;
java.util.Map v, v, v, v;
java.lang.Object v;
org.apache.activemq.command.TransactionId v;
boolean v;
v := @this: org.apache.activemq.store.journal.JournalTransactionStore;
v := @parameter: org.apache.activemq.command.TransactionId;
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map inflightTransactions>;
entermonitor v;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map inflightTransactions>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
if v == 0 goto label;
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map preparedTransactions>;
entermonitor v;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map preparedTransactions>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void start() throws java.lang.Exception
{
org.apache.activemq.store.journal.JournalTransactionStore v;
v := @this: org.apache.activemq.store.journal.JournalTransactionStore;
return;
}
public void stop() throws java.lang.Exception
{
org.apache.activemq.store.journal.JournalTransactionStore v;
v := @this: org.apache.activemq.store.journal.JournalTransactionStore;
return;
}
public synchronized void recover(org.apache.activemq.store.TransactionRecoveryListener) throws java.io.IOException
{
java.lang.Throwable v, v, v;
org.apache.activemq.store.journal.JournalTransactionStore v;
org.apache.activemq.command.MessageAck[] v;
java.util.LinkedHashMap v;
java.util.Map v, v, v, v;
org.apache.activemq.store.TransactionRecoveryListener v;
boolean v;
java.util.Iterator v;
org.apache.activemq.command.Message[] v;
java.util.Set v;
java.lang.Object v, v;
v := @this: org.apache.activemq.store.journal.JournalTransactionStore;
v := @parameter: org.apache.activemq.store.TransactionRecoveryListener;
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map inflightTransactions>;
entermonitor v;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map inflightTransactions>;
interfaceinvoke v.<java.util.Map: void clear()>();
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v.<org.apache.activemq.store.journal.JournalTransactionStore: boolean doingRecover> = 1;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map preparedTransactions>;
entermonitor v;
label:
v = new java.util.LinkedHashMap;
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map preparedTransactions>;
specialinvoke v.<java.util.LinkedHashMap: void <init>(java.util.Map)>(v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
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 = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.activemq.store.journal.JournalTransactionStore$Tx: org.apache.activemq.command.Message[] getMessages()>();
v = virtualinvoke v.<org.apache.activemq.store.journal.JournalTransactionStore$Tx: org.apache.activemq.command.MessageAck[] getAcks()>();
interfaceinvoke v.<org.apache.activemq.store.TransactionRecoveryListener: void recover(org.apache.activemq.command.XATransactionId,org.apache.activemq.command.Message[],org.apache.activemq.command.MessageAck[])>(v, v, v);
goto label;
label:
v.<org.apache.activemq.store.journal.JournalTransactionStore: boolean doingRecover> = 0;
goto label;
label:
v := @caughtexception;
v.<org.apache.activemq.store.journal.JournalTransactionStore: boolean doingRecover> = 0;
throw v;
label:
return;
catch java.lang.Throwable 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;
}
void addMessage(org.apache.activemq.store.journal.JournalMessageStore, org.apache.activemq.command.Message, org.apache.activeio.journal.RecordLocation) throws java.io.IOException
{
org.apache.activemq.command.Message v;
org.apache.activemq.store.journal.JournalTransactionStore$Tx v;
org.apache.activemq.store.journal.JournalMessageStore v;
org.apache.activemq.store.journal.JournalTransactionStore v;
org.apache.activemq.command.TransactionId v;
org.apache.activeio.journal.RecordLocation v;
v := @this: org.apache.activemq.store.journal.JournalTransactionStore;
v := @parameter: org.apache.activemq.store.journal.JournalMessageStore;
v := @parameter: org.apache.activemq.command.Message;
v := @parameter: org.apache.activeio.journal.RecordLocation;
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.TransactionId getTransactionId()>();
v = virtualinvoke v.<org.apache.activemq.store.journal.JournalTransactionStore: org.apache.activemq.store.journal.JournalTransactionStore$Tx getTx(java.lang.Object,org.apache.activeio.journal.RecordLocation)>(v, v);
virtualinvoke v.<org.apache.activemq.store.journal.JournalTransactionStore$Tx: void add(org.apache.activemq.store.journal.JournalMessageStore,org.apache.activemq.command.Message)>(v, v);
return;
}
public void removeMessage(org.apache.activemq.store.journal.JournalMessageStore, org.apache.activemq.command.MessageAck, org.apache.activeio.journal.RecordLocation) throws java.io.IOException
{
org.apache.activemq.command.MessageAck v;
org.apache.activemq.store.journal.JournalTransactionStore$Tx v;
org.apache.activemq.store.journal.JournalMessageStore v;
org.apache.activemq.store.journal.JournalTransactionStore v;
org.apache.activemq.command.TransactionId v;
org.apache.activeio.journal.RecordLocation v;
v := @this: org.apache.activemq.store.journal.JournalTransactionStore;
v := @parameter: org.apache.activemq.store.journal.JournalMessageStore;
v := @parameter: org.apache.activemq.command.MessageAck;
v := @parameter: org.apache.activeio.journal.RecordLocation;
v = virtualinvoke v.<org.apache.activemq.command.MessageAck: org.apache.activemq.command.TransactionId getTransactionId()>();
v = virtualinvoke v.<org.apache.activemq.store.journal.JournalTransactionStore: org.apache.activemq.store.journal.JournalTransactionStore$Tx getTx(java.lang.Object,org.apache.activeio.journal.RecordLocation)>(v, v);
virtualinvoke v.<org.apache.activemq.store.journal.JournalTransactionStore$Tx: void add(org.apache.activemq.store.journal.JournalMessageStore,org.apache.activemq.command.MessageAck)>(v, v);
return;
}
public void acknowledge(org.apache.activemq.store.journal.JournalTopicMessageStore, org.apache.activemq.command.JournalTopicAck, org.apache.activeio.journal.RecordLocation)
{
org.apache.activemq.store.journal.JournalTransactionStore$Tx v;
org.apache.activemq.store.journal.JournalTransactionStore v;
org.apache.activemq.command.JournalTopicAck v;
org.apache.activemq.store.journal.JournalTopicMessageStore v;
org.apache.activemq.command.TransactionId v;
org.apache.activeio.journal.RecordLocation v;
v := @this: org.apache.activemq.store.journal.JournalTransactionStore;
v := @parameter: org.apache.activemq.store.journal.JournalTopicMessageStore;
v := @parameter: org.apache.activemq.command.JournalTopicAck;
v := @parameter: org.apache.activeio.journal.RecordLocation;
v = virtualinvoke v.<org.apache.activemq.command.JournalTopicAck: org.apache.activemq.command.TransactionId getTransactionId()>();
v = virtualinvoke v.<org.apache.activemq.store.journal.JournalTransactionStore: org.apache.activemq.store.journal.JournalTransactionStore$Tx getTx(java.lang.Object,org.apache.activeio.journal.RecordLocation)>(v, v);
virtualinvoke v.<org.apache.activemq.store.journal.JournalTransactionStore$Tx: void add(org.apache.activemq.store.journal.JournalTopicMessageStore,org.apache.activemq.command.JournalTopicAck)>(v, v);
return;
}
public org.apache.activeio.journal.RecordLocation checkpoint() throws java.io.IOException
{
java.lang.Throwable v, v;
org.apache.activemq.store.journal.JournalTransactionStore v;
org.apache.activeio.journal.RecordLocation v, v, v;
java.util.Map v, v, v, v;
int v, v;
boolean v, v;
java.util.Iterator v, v;
java.util.Collection v, v;
java.lang.Object v, v;
v := @this: org.apache.activemq.store.journal.JournalTransactionStore;
v = null;
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map inflightTransactions>;
entermonitor v;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map inflightTransactions>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: 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.journal.JournalTransactionStore$Tx: org.apache.activeio.journal.RecordLocation location>;
if v == null goto label;
v = interfaceinvoke v.<org.apache.activeio.journal.RecordLocation: int compareTo(java.lang.Object)>(v);
if v >= 0 goto label;
label:
v = v;
goto label;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map preparedTransactions>;
entermonitor v;
label:
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: java.util.Map preparedTransactions>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: 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.journal.JournalTransactionStore$Tx: org.apache.activeio.journal.RecordLocation location>;
if v == null goto label;
v = interfaceinvoke v.<org.apache.activeio.journal.RecordLocation: int compareTo(java.lang.Object)>(v);
if v >= 0 goto label;
label:
v = v;
goto label;
label:
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public boolean isDoingRecover()
{
boolean v;
org.apache.activemq.store.journal.JournalTransactionStore v;
v := @this: org.apache.activemq.store.journal.JournalTransactionStore;
v = v.<org.apache.activemq.store.journal.JournalTransactionStore: boolean doingRecover>;
return v;
}
}