public class org.apache.activemq.store.kahadb.KahaDBStore extends org.apache.activemq.store.kahadb.MessageDatabase implements org.apache.activemq.store.PersistenceAdapter, org.apache.activemq.store.NoLocalSubscriptionAware
{
static final org.slf4j.Logger LOG;
private static final int MAX_ASYNC_JOBS;
public static final java.lang.String PROPERTY_CANCELED_TASK_MOD_METRIC;
public static final int cancelledTaskModMetric;
public static final java.lang.String PROPERTY_ASYNC_EXECUTOR_MAX_THREADS;
private static final int asyncExecutorMaxThreads;
protected java.util.concurrent.ExecutorService queueExecutor;
protected java.util.concurrent.ExecutorService topicExecutor;
protected final java.util.List asyncQueueMaps;
protected final java.util.List asyncTopicMaps;
final org.apache.activemq.wireformat.WireFormat wireFormat;
private org.apache.activemq.usage.SystemUsage usageManager;
private java.util.concurrent.LinkedBlockingQueue asyncQueueJobQueue;
private java.util.concurrent.LinkedBlockingQueue asyncTopicJobQueue;
java.util.concurrent.Semaphore globalQueueSemaphore;
java.util.concurrent.Semaphore globalTopicSemaphore;
private boolean concurrentStoreAndDispatchQueues;
private boolean concurrentStoreAndDispatchTopics;
private final boolean concurrentStoreAndDispatchTransactions;
private int maxAsyncJobs;
private final org.apache.activemq.store.kahadb.KahaDBTransactionStore transactionStore;
private org.apache.activemq.store.TransactionIdTransformer transactionIdTransformer;
public void <init>()
{
org.apache.activemq.store.kahadb.KahaDBTransactionStore v;
org.apache.activemq.openwire.OpenWireFormat v;
org.apache.activemq.store.kahadb.KahaDBStore$1 v;
org.apache.activemq.store.kahadb.KahaDBStore v;
java.util.LinkedList v, v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
specialinvoke v.<org.apache.activemq.store.kahadb.MessageDatabase: void <init>()>();
v = new java.util.LinkedList;
specialinvoke v.<java.util.LinkedList: void <init>()>();
v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.List asyncQueueMaps> = v;
v = new java.util.LinkedList;
specialinvoke v.<java.util.LinkedList: void <init>()>();
v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.List asyncTopicMaps> = v;
v = new org.apache.activemq.openwire.OpenWireFormat;
specialinvoke v.<org.apache.activemq.openwire.OpenWireFormat: void <init>()>();
v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.wireformat.WireFormat wireFormat> = v;
v.<org.apache.activemq.store.kahadb.KahaDBStore: boolean concurrentStoreAndDispatchQueues> = 1;
v.<org.apache.activemq.store.kahadb.KahaDBStore: boolean concurrentStoreAndDispatchTopics> = 0;
v.<org.apache.activemq.store.kahadb.KahaDBStore: boolean concurrentStoreAndDispatchTransactions> = 0;
v.<org.apache.activemq.store.kahadb.KahaDBStore: int maxAsyncJobs> = 10000;
v = new org.apache.activemq.store.kahadb.KahaDBTransactionStore;
specialinvoke v.<org.apache.activemq.store.kahadb.KahaDBTransactionStore: void <init>(org.apache.activemq.store.kahadb.KahaDBStore)>(v);
v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.KahaDBTransactionStore transactionStore> = v;
v = new org.apache.activemq.store.kahadb.KahaDBStore$1;
specialinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$1: void <init>(org.apache.activemq.store.kahadb.KahaDBStore)>(v);
v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.TransactionIdTransformer transactionIdTransformer> = v;
return;
}
public java.lang.String toString()
{
org.apache.activemq.store.kahadb.KahaDBStore v;
java.lang.String v, v;
java.io.File v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.io.File directory>;
v = virtualinvoke v.<java.io.File: java.lang.String getAbsolutePath()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("KahaDB:[\u]");
return v;
}
public void setBrokerName(java.lang.String)
{
org.apache.activemq.store.kahadb.KahaDBStore v;
java.lang.String v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: java.lang.String;
return;
}
public void setUsageManager(org.apache.activemq.usage.SystemUsage)
{
org.apache.activemq.store.kahadb.KahaDBStore v;
org.apache.activemq.usage.SystemUsage v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: org.apache.activemq.usage.SystemUsage;
v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.usage.SystemUsage usageManager> = v;
return;
}
public org.apache.activemq.usage.SystemUsage getUsageManager()
{
org.apache.activemq.store.kahadb.KahaDBStore v;
org.apache.activemq.usage.SystemUsage v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.usage.SystemUsage usageManager>;
return v;
}
public boolean isConcurrentStoreAndDispatchQueues()
{
org.apache.activemq.store.kahadb.KahaDBStore v;
boolean v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: boolean concurrentStoreAndDispatchQueues>;
return v;
}
public void setConcurrentStoreAndDispatchQueues(boolean)
{
org.apache.activemq.store.kahadb.KahaDBStore v;
boolean v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: boolean;
v.<org.apache.activemq.store.kahadb.KahaDBStore: boolean concurrentStoreAndDispatchQueues> = v;
return;
}
public boolean isConcurrentStoreAndDispatchTopics()
{
org.apache.activemq.store.kahadb.KahaDBStore v;
boolean v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: boolean concurrentStoreAndDispatchTopics>;
return v;
}
public void setConcurrentStoreAndDispatchTopics(boolean)
{
org.apache.activemq.store.kahadb.KahaDBStore v;
boolean v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: boolean;
v.<org.apache.activemq.store.kahadb.KahaDBStore: boolean concurrentStoreAndDispatchTopics> = v;
return;
}
public boolean isConcurrentStoreAndDispatchTransactions()
{
org.apache.activemq.store.kahadb.KahaDBStore v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
return 0;
}
public int getMaxAsyncJobs()
{
int v;
org.apache.activemq.store.kahadb.KahaDBStore v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: int maxAsyncJobs>;
return v;
}
public void setMaxAsyncJobs(int)
{
int v;
org.apache.activemq.store.kahadb.KahaDBStore v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: int;
v.<org.apache.activemq.store.kahadb.KahaDBStore: int maxAsyncJobs> = v;
return;
}
protected void configureMetadata()
{
org.apache.activemq.broker.BrokerService v, v;
org.apache.activemq.store.kahadb.MessageDatabase$Metadata v, v, v;
org.slf4j.Logger v, v;
org.apache.activemq.wireformat.WireFormat v;
java.lang.Integer v;
int v, v, v;
org.apache.activemq.store.kahadb.KahaDBStore v;
boolean v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.broker.BrokerService brokerService>;
if v == null goto label;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.MessageDatabase$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.broker.BrokerService brokerService>;
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: int getStoreOpenWireVersion()>();
v.<org.apache.activemq.store.kahadb.MessageDatabase$Metadata: int openwireVersion> = v;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.wireformat.WireFormat wireFormat>;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.MessageDatabase$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.MessageDatabase$Metadata: int openwireVersion>;
interfaceinvoke v.<org.apache.activemq.wireformat.WireFormat: void setVersion(int)>(v);
v = <org.apache.activemq.store.kahadb.KahaDBStore: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.activemq.store.kahadb.KahaDBStore: org.slf4j.Logger LOG>;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.MessageDatabase$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.MessageDatabase$Metadata: int openwireVersion>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Store OpenWire version configured as: {}", v);
label:
return;
}
public void doStart() throws java.lang.Exception
{
java.lang.Integer v, v;
org.apache.activemq.store.kahadb.KahaDBStore$StoreTaskExecutor v, v;
org.apache.activemq.broker.BrokerService v, v, v, v;
org.apache.activemq.wireformat.WireFormat v;
java.util.concurrent.LinkedBlockingQueue v, v, v, v;
org.apache.activemq.store.kahadb.KahaDBStore v;
org.apache.activemq.store.kahadb.MessageDatabase$Metadata v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v;
org.slf4j.Logger v;
java.util.concurrent.Semaphore v, v;
java.util.concurrent.TimeUnit v, v;
org.apache.activemq.store.kahadb.KahaDBStore$2 v;
org.apache.activemq.store.kahadb.KahaDBStore$3 v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: void configureMetadata()>();
specialinvoke v.<org.apache.activemq.store.kahadb.MessageDatabase: void doStart()>();
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.broker.BrokerService brokerService>;
if v == null goto label;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.MessageDatabase$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.MessageDatabase$Metadata: int openwireVersion>;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.broker.BrokerService brokerService>;
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: int getStoreOpenWireVersion()>();
if v == v goto label;
v = <org.apache.activemq.store.kahadb.KahaDBStore: org.slf4j.Logger LOG>;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.MessageDatabase$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.MessageDatabase$Metadata: int openwireVersion>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.broker.BrokerService brokerService>;
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: int getStoreOpenWireVersion()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Existing Store uses a different OpenWire version[{}] than the version configured[{}] reverting to the version used by this store, some newer broker features may not workas expected.", v, v);
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.wireformat.WireFormat wireFormat>;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.MessageDatabase$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.MessageDatabase$Metadata: int openwireVersion>;
interfaceinvoke v.<org.apache.activemq.wireformat.WireFormat: void setVersion(int)>(v);
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.broker.BrokerService brokerService>;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.MessageDatabase$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.MessageDatabase$Metadata: int openwireVersion>;
virtualinvoke v.<org.apache.activemq.broker.BrokerService: void setStoreOpenWireVersion(int)>(v);
label:
v = new java.util.concurrent.Semaphore;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: int getMaxAsyncJobs()>();
specialinvoke v.<java.util.concurrent.Semaphore: void <init>(int)>(v);
v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.Semaphore globalQueueSemaphore> = v;
v = new java.util.concurrent.Semaphore;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: int getMaxAsyncJobs()>();
specialinvoke v.<java.util.concurrent.Semaphore: void <init>(int)>(v);
v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.Semaphore globalTopicSemaphore> = v;
v = new java.util.concurrent.LinkedBlockingQueue;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: int getMaxAsyncJobs()>();
specialinvoke v.<java.util.concurrent.LinkedBlockingQueue: void <init>(int)>(v);
v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.LinkedBlockingQueue asyncQueueJobQueue> = v;
v = new java.util.concurrent.LinkedBlockingQueue;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: int getMaxAsyncJobs()>();
specialinvoke v.<java.util.concurrent.LinkedBlockingQueue: void <init>(int)>(v);
v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.LinkedBlockingQueue asyncTopicJobQueue> = v;
v = new org.apache.activemq.store.kahadb.KahaDBStore$StoreTaskExecutor;
v = <org.apache.activemq.store.kahadb.KahaDBStore: int asyncExecutorMaxThreads>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.LinkedBlockingQueue asyncQueueJobQueue>;
v = new org.apache.activemq.store.kahadb.KahaDBStore$2;
specialinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$2: void <init>(org.apache.activemq.store.kahadb.KahaDBStore)>(v);
specialinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$StoreTaskExecutor: void <init>(org.apache.activemq.store.kahadb.KahaDBStore,int,int,long,java.util.concurrent.TimeUnit,java.util.concurrent.BlockingQueue,java.util.concurrent.ThreadFactory)>(v, 1, v, 0L, v, v, v);
v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.ExecutorService queueExecutor> = v;
v = new org.apache.activemq.store.kahadb.KahaDBStore$StoreTaskExecutor;
v = <org.apache.activemq.store.kahadb.KahaDBStore: int asyncExecutorMaxThreads>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.LinkedBlockingQueue asyncTopicJobQueue>;
v = new org.apache.activemq.store.kahadb.KahaDBStore$3;
specialinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$3: void <init>(org.apache.activemq.store.kahadb.KahaDBStore)>(v);
specialinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$StoreTaskExecutor: void <init>(org.apache.activemq.store.kahadb.KahaDBStore,int,int,long,java.util.concurrent.TimeUnit,java.util.concurrent.BlockingQueue,java.util.concurrent.ThreadFactory)>(v, 1, v, 0L, v, v, v);
v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.ExecutorService topicExecutor> = v;
return;
}
public void doStop(org.apache.activemq.util.ServiceStopper) throws java.lang.Exception
{
org.apache.activemq.util.ServiceStopper v;
boolean v, v, v, v;
java.util.Collection v, v;
java.util.List v, v, v, v, v, v;
org.apache.activemq.store.kahadb.KahaDBStore v;
java.lang.Throwable v, v, v, v;
int v, v;
java.util.concurrent.ExecutorService v, v, v, v;
org.slf4j.Logger v, v, v;
java.util.Iterator v, v, v, v;
java.util.concurrent.Semaphore v, v, v, v, v, v, v, v;
java.util.concurrent.TimeUnit v, v;
java.lang.Object v, v, v, v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: org.apache.activemq.util.ServiceStopper;
v = <org.apache.activemq.store.kahadb.KahaDBStore: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Stopping async queue tasks");
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.Semaphore globalQueueSemaphore>;
if v == null goto label;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.Semaphore globalQueueSemaphore>;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: int maxAsyncJobs>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
virtualinvoke v.<java.util.concurrent.Semaphore: boolean tryAcquire(int,long,java.util.concurrent.TimeUnit)>(v, 60L, v);
label:
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.List asyncQueueMaps>;
entermonitor v;
label:
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.List asyncQueueMaps>;
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()>();
entermonitor v;
label:
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()>();
interfaceinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$StoreTask: boolean cancel()>();
goto label;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.List asyncQueueMaps>;
interfaceinvoke v.<java.util.List: void clear()>();
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = <org.apache.activemq.store.kahadb.KahaDBStore: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Stopping async topic tasks");
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.Semaphore globalTopicSemaphore>;
if v == null goto label;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.Semaphore globalTopicSemaphore>;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: int maxAsyncJobs>;
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit SECONDS>;
virtualinvoke v.<java.util.concurrent.Semaphore: boolean tryAcquire(int,long,java.util.concurrent.TimeUnit)>(v, 60L, v);
label:
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.List asyncTopicMaps>;
entermonitor v;
label:
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.List asyncTopicMaps>;
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()>();
entermonitor v;
label:
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()>();
interfaceinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$StoreTask: boolean cancel()>();
goto label;
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.List asyncTopicMaps>;
interfaceinvoke v.<java.util.List: void clear()>();
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.Semaphore globalQueueSemaphore>;
if v == null goto label;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.Semaphore globalQueueSemaphore>;
virtualinvoke v.<java.util.concurrent.Semaphore: int drainPermits()>();
label:
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.Semaphore globalTopicSemaphore>;
if v == null goto label;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.Semaphore globalTopicSemaphore>;
virtualinvoke v.<java.util.concurrent.Semaphore: int drainPermits()>();
label:
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.ExecutorService queueExecutor>;
if v == null goto label;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.ExecutorService queueExecutor>;
staticinvoke <org.apache.activemq.util.ThreadPoolUtils: java.util.List shutdownNow(java.util.concurrent.ExecutorService)>(v);
v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.ExecutorService queueExecutor> = null;
label:
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.ExecutorService topicExecutor>;
if v == null goto label;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.ExecutorService topicExecutor>;
staticinvoke <org.apache.activemq.util.ThreadPoolUtils: java.util.List shutdownNow(java.util.concurrent.ExecutorService)>(v);
v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.ExecutorService topicExecutor> = null;
label:
v = <org.apache.activemq.store.kahadb.KahaDBStore: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("Stopped KahaDB");
specialinvoke v.<org.apache.activemq.store.kahadb.MessageDatabase: void doStop(org.apache.activemq.util.ServiceStopper)>(v);
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;
catch java.lang.Throwable from label to label with label;
}
private org.apache.activemq.store.kahadb.disk.journal.Location findMessageLocation(java.lang.String, org.apache.activemq.store.kahadb.data.KahaDestination) throws java.io.IOException
{
org.apache.activemq.store.kahadb.KahaDBStore$4 v;
org.apache.activemq.store.kahadb.data.KahaDestination v;
org.apache.activemq.store.kahadb.KahaDBStore v;
java.lang.Object v;
java.lang.String v;
org.apache.activemq.store.kahadb.disk.page.PageFile v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: java.lang.String;
v := @parameter: org.apache.activemq.store.kahadb.data.KahaDestination;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.disk.page.PageFile pageFile>;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.PageFile: org.apache.activemq.store.kahadb.disk.page.Transaction tx()>();
v = new org.apache.activemq.store.kahadb.KahaDBStore$4;
specialinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$4: void <init>(org.apache.activemq.store.kahadb.KahaDBStore,org.apache.activemq.store.kahadb.data.KahaDestination,java.lang.String)>(v, v, v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Transaction: java.lang.Object execute(org.apache.activemq.store.kahadb.disk.page.Transaction$CallableClosure)>(v);
return v;
}
protected org.apache.activemq.store.kahadb.KahaDBStore$StoreQueueTask removeQueueTask(org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore, org.apache.activemq.command.MessageId)
{
java.lang.Throwable v;
org.apache.activemq.store.kahadb.KahaDBStore$AsyncJobKey v;
org.apache.activemq.command.MessageId v;
org.apache.activemq.command.ActiveMQDestination v;
java.util.Map v, v;
org.apache.activemq.store.kahadb.KahaDBStore v;
java.lang.Object v;
org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore;
v := @parameter: org.apache.activemq.command.MessageId;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore: java.util.Map asyncTaskMap>;
entermonitor v;
label:
v = v.<org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore: java.util.Map asyncTaskMap>;
v = new org.apache.activemq.store.kahadb.KahaDBStore$AsyncJobKey;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore: org.apache.activemq.command.ActiveMQDestination getDestination()>();
specialinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$AsyncJobKey: void <init>(org.apache.activemq.command.MessageId,org.apache.activemq.command.ActiveMQDestination)>(v, v);
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:
return v;
catch java.lang.Throwable from label to label with label;
}
protected void addQueueTask(org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore, org.apache.activemq.store.kahadb.KahaDBStore$StoreQueueTask) throws java.io.IOException
{
org.apache.activemq.store.kahadb.KahaDBStore$AsyncJobKey v;
org.apache.activemq.command.MessageId v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.command.Message v;
java.util.Map v;
org.apache.activemq.store.kahadb.KahaDBStore v;
org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore v;
org.apache.activemq.store.kahadb.KahaDBStore$StoreQueueTask v;
java.util.concurrent.ExecutorService v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore;
v := @parameter: org.apache.activemq.store.kahadb.KahaDBStore$StoreQueueTask;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore: java.util.Map asyncTaskMap>;
v = new org.apache.activemq.store.kahadb.KahaDBStore$AsyncJobKey;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$StoreQueueTask: org.apache.activemq.command.Message getMessage()>();
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.MessageId getMessageId()>();
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore: org.apache.activemq.command.ActiveMQDestination getDestination()>();
specialinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$AsyncJobKey: void <init>(org.apache.activemq.command.MessageId,org.apache.activemq.command.ActiveMQDestination)>(v, v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.ExecutorService queueExecutor>;
interfaceinvoke v.<java.util.concurrent.ExecutorService: void execute(java.lang.Runnable)>(v);
return;
}
protected org.apache.activemq.store.kahadb.KahaDBStore$StoreTopicTask removeTopicTask(org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore, org.apache.activemq.command.MessageId)
{
java.lang.Throwable v;
org.apache.activemq.store.kahadb.KahaDBStore$AsyncJobKey v;
org.apache.activemq.command.MessageId v;
org.apache.activemq.command.ActiveMQDestination v;
java.util.Map v, v;
org.apache.activemq.store.kahadb.KahaDBStore v;
java.lang.Object v;
org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore;
v := @parameter: org.apache.activemq.command.MessageId;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore: java.util.Map asyncTaskMap>;
entermonitor v;
label:
v = v.<org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore: java.util.Map asyncTaskMap>;
v = new org.apache.activemq.store.kahadb.KahaDBStore$AsyncJobKey;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore: org.apache.activemq.command.ActiveMQDestination getDestination()>();
specialinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$AsyncJobKey: void <init>(org.apache.activemq.command.MessageId,org.apache.activemq.command.ActiveMQDestination)>(v, v);
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:
return v;
catch java.lang.Throwable from label to label with label;
}
protected void addTopicTask(org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore, org.apache.activemq.store.kahadb.KahaDBStore$StoreTopicTask) throws java.io.IOException
{
java.lang.Throwable v;
org.apache.activemq.store.kahadb.KahaDBStore$AsyncJobKey v;
org.apache.activemq.command.MessageId v;
org.apache.activemq.store.kahadb.KahaDBStore$StoreTopicTask v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.command.Message v;
java.util.Map v, v;
org.apache.activemq.store.kahadb.KahaDBStore v;
org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore v;
java.util.concurrent.ExecutorService v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore;
v := @parameter: org.apache.activemq.store.kahadb.KahaDBStore$StoreTopicTask;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore: java.util.Map asyncTaskMap>;
entermonitor v;
label:
v = v.<org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore: java.util.Map asyncTaskMap>;
v = new org.apache.activemq.store.kahadb.KahaDBStore$AsyncJobKey;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$StoreTopicTask: org.apache.activemq.command.Message getMessage()>();
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.MessageId getMessageId()>();
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore: org.apache.activemq.command.ActiveMQDestination getDestination()>();
specialinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$AsyncJobKey: void <init>(org.apache.activemq.command.MessageId,org.apache.activemq.command.ActiveMQDestination)>(v, v);
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:
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.ExecutorService topicExecutor>;
interfaceinvoke v.<java.util.concurrent.ExecutorService: void execute(java.lang.Runnable)>(v);
return;
catch java.lang.Throwable from label to label with label;
}
public org.apache.activemq.store.TransactionStore createTransactionStore() throws java.io.IOException
{
org.apache.activemq.store.kahadb.KahaDBTransactionStore v;
org.apache.activemq.store.kahadb.KahaDBStore v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.KahaDBTransactionStore transactionStore>;
return v;
}
public boolean getForceRecoverIndex()
{
org.apache.activemq.store.kahadb.KahaDBStore v;
boolean v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: boolean forceRecoverIndex>;
return v;
}
public void setForceRecoverIndex(boolean)
{
org.apache.activemq.store.kahadb.KahaDBStore v;
boolean v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: boolean;
v.<org.apache.activemq.store.kahadb.KahaDBStore: boolean forceRecoverIndex> = v;
return;
}
public void forgetRecoveredAcks(java.util.ArrayList, boolean) throws java.io.IOException
{
java.util.HashMap v;
java.util.ArrayList v, v;
org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore v;
boolean v, v, v, v, v;
java.util.Iterator v, v, v;
java.util.Set v;
org.apache.activemq.command.ActiveMQDestination v, v, v;
org.apache.activemq.store.kahadb.KahaDBStore v;
java.lang.Object v, v, v, v, v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: java.util.ArrayList;
v := @parameter: boolean;
if v == null goto label;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = virtualinvoke v.<java.util.ArrayList: 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 = virtualinvoke v.<org.apache.activemq.command.MessageAck: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.MessageAck: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = specialinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore findMatchingStore(org.apache.activemq.command.ActiveMQDestination)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
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 = virtualinvoke v.<java.util.ArrayList: 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$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<org.apache.activemq.command.MessageAck: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.util.ArrayList: boolean add(java.lang.Object)>(v);
goto label;
label:
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore: void forgetRecoveredAcks(java.util.ArrayList,boolean)>(v, v);
virtualinvoke v.<java.util.ArrayList: void clear()>();
goto label;
label:
return;
}
public void trackRecoveredAcks(java.util.ArrayList) throws java.io.IOException
{
java.util.HashMap v;
java.util.ArrayList v, v;
org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore v;
boolean v, v, v, v;
java.util.Iterator v, v, v;
java.util.Set v;
org.apache.activemq.command.ActiveMQDestination v, v, v;
org.apache.activemq.store.kahadb.KahaDBStore v;
java.lang.Object v, v, v, v, v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: java.util.ArrayList;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = virtualinvoke v.<java.util.ArrayList: 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 = virtualinvoke v.<org.apache.activemq.command.MessageAck: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.MessageAck: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = specialinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore findMatchingStore(org.apache.activemq.command.ActiveMQDestination)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
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 = virtualinvoke v.<java.util.ArrayList: 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$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<org.apache.activemq.command.MessageAck: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<java.util.ArrayList: boolean add(java.lang.Object)>(v);
goto label;
label:
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore: void trackRecoveredAcks(java.util.ArrayList)>(v);
virtualinvoke v.<java.util.ArrayList: void clear()>();
goto label;
label:
return;
}
private org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore findMatchingStore(org.apache.activemq.command.ActiveMQDestination) throws java.io.IOException
{
org.apache.activemq.store.MessageStore v;
org.apache.activemq.store.kahadb.data.KahaDestination v;
java.util.concurrent.ConcurrentMap v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.store.kahadb.KahaDBStore v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: org.apache.activemq.command.ActiveMQDestination;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.ConcurrentMap storeCache>;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.data.KahaDestination convert(org.apache.activemq.command.ActiveMQDestination)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: java.lang.String key(org.apache.activemq.store.kahadb.data.KahaDestination)>(v);
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: boolean isQueue()>();
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.MessageStore createQueueMessageStore(org.apache.activemq.command.ActiveMQQueue)>(v);
goto label;
label:
virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.TopicMessageStore createTopicMessageStore(org.apache.activemq.command.ActiveMQTopic)>(v);
label:
v = virtualinvoke v.<org.apache.activemq.store.ProxyMessageStore: org.apache.activemq.store.MessageStore getDelegate()>();
return v;
}
java.lang.String subscriptionKey(java.lang.String, java.lang.String)
{
org.apache.activemq.store.kahadb.KahaDBStore v;
java.lang.String v, v, v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(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[])>("\u0001:\u0001");
return v;
}
public org.apache.activemq.store.MessageStore createQueueMessageStore(org.apache.activemq.command.ActiveMQQueue) throws java.io.IOException
{
org.apache.activemq.store.MessageStore v;
org.apache.activemq.store.kahadb.data.KahaDestination v, v;
org.apache.activemq.command.ActiveMQQueue v;
java.util.concurrent.ConcurrentMap v, v;
org.apache.activemq.store.kahadb.KahaDBTransactionStore v;
org.apache.activemq.store.kahadb.KahaDBStore v;
java.lang.Object v;
java.lang.String v, v;
org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: org.apache.activemq.command.ActiveMQQueue;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.data.KahaDestination convert(org.apache.activemq.command.ActiveMQDestination)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: java.lang.String key(org.apache.activemq.store.kahadb.data.KahaDestination)>(v);
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.ConcurrentMap storeCache>;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.data.KahaDestination convert(org.apache.activemq.command.ActiveMQDestination)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: java.lang.String key(org.apache.activemq.store.kahadb.data.KahaDestination)>(v);
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.KahaDBTransactionStore transactionStore>;
v = new org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore;
specialinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$KahaDBMessageStore: void <init>(org.apache.activemq.store.kahadb.KahaDBStore,org.apache.activemq.command.ActiveMQDestination)>(v, v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBTransactionStore: org.apache.activemq.store.MessageStore proxy(org.apache.activemq.store.MessageStore)>(v);
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.ConcurrentMap storeCache>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
v = v;
label:
return v;
}
public org.apache.activemq.store.TopicMessageStore createTopicMessageStore(org.apache.activemq.command.ActiveMQTopic) throws java.io.IOException
{
org.apache.activemq.store.MessageStore v;
org.apache.activemq.store.kahadb.data.KahaDestination v, v;
java.util.concurrent.ConcurrentMap v, v;
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.store.kahadb.KahaDBTransactionStore v;
org.apache.activemq.store.TopicMessageStore v;
org.apache.activemq.store.kahadb.KahaDBStore v;
java.lang.Object v;
java.lang.String v, v;
org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: org.apache.activemq.command.ActiveMQTopic;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.data.KahaDestination convert(org.apache.activemq.command.ActiveMQDestination)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: java.lang.String key(org.apache.activemq.store.kahadb.data.KahaDestination)>(v);
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.ConcurrentMap storeCache>;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.data.KahaDestination convert(org.apache.activemq.command.ActiveMQDestination)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: java.lang.String key(org.apache.activemq.store.kahadb.data.KahaDestination)>(v);
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.KahaDBTransactionStore transactionStore>;
v = new org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore;
specialinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$KahaDBTopicMessageStore: void <init>(org.apache.activemq.store.kahadb.KahaDBStore,org.apache.activemq.command.ActiveMQTopic)>(v, v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBTransactionStore: org.apache.activemq.store.TopicMessageStore proxy(org.apache.activemq.store.TopicMessageStore)>(v);
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.ConcurrentMap storeCache>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
label:
return v;
}
public void removeQueueMessageStore(org.apache.activemq.command.ActiveMQQueue)
{
org.apache.activemq.store.kahadb.KahaDBStore v;
org.apache.activemq.command.ActiveMQQueue v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: org.apache.activemq.command.ActiveMQQueue;
return;
}
public void removeTopicMessageStore(org.apache.activemq.command.ActiveMQTopic)
{
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.store.kahadb.KahaDBStore v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: org.apache.activemq.command.ActiveMQTopic;
return;
}
public void deleteAllMessages() throws java.io.IOException
{
org.apache.activemq.store.kahadb.KahaDBStore v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v.<org.apache.activemq.store.kahadb.KahaDBStore: boolean deleteAllMessages> = 1;
return;
}
public java.util.Set getDestinations()
{
java.lang.Throwable v;
java.io.IOException v;
java.lang.RuntimeException v;
java.util.concurrent.locks.ReentrantReadWriteLock v, v, v;
java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock v, v, v;
java.util.HashSet v;
org.apache.activemq.store.kahadb.KahaDBStore$5 v;
org.apache.activemq.store.kahadb.KahaDBStore v;
org.apache.activemq.store.kahadb.disk.page.PageFile v;
org.apache.activemq.store.kahadb.disk.page.Transaction v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
label:
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.locks.ReentrantReadWriteLock indexLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock writeLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock: void lock()>();
label:
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.disk.page.PageFile pageFile>;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.PageFile: org.apache.activemq.store.kahadb.disk.page.Transaction tx()>();
v = new org.apache.activemq.store.kahadb.KahaDBStore$5;
specialinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore$5: void <init>(org.apache.activemq.store.kahadb.KahaDBStore,java.util.HashSet)>(v, v);
virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.Transaction: void execute(org.apache.activemq.store.kahadb.disk.page.Transaction$Closure)>(v);
label:
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.locks.ReentrantReadWriteLock indexLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock writeLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.locks.ReentrantReadWriteLock indexLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock writeLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock: void unlock()>();
throw v;
label:
return v;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
catch java.lang.Throwable from label to label with label;
catch java.io.IOException from label to label with label;
}
public long getLastMessageBrokerSequenceId() throws java.io.IOException
{
org.apache.activemq.store.kahadb.KahaDBStore v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
return 0L;
}
public long getLastProducerSequenceId(org.apache.activemq.command.ProducerId)
{
java.lang.Throwable v;
org.apache.activemq.store.kahadb.MessageDatabase$Metadata v;
long v;
java.util.concurrent.locks.ReentrantReadWriteLock v, v, v;
java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock v, v, v;
org.apache.activemq.ActiveMQMessageAuditNoSync v;
org.apache.activemq.command.ProducerId v;
org.apache.activemq.store.kahadb.KahaDBStore v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: org.apache.activemq.command.ProducerId;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.locks.ReentrantReadWriteLock indexLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock writeLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock: void lock()>();
label:
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.MessageDatabase$Metadata metadata>;
v = v.<org.apache.activemq.store.kahadb.MessageDatabase$Metadata: org.apache.activemq.ActiveMQMessageAuditNoSync producerSequenceIdTracker>;
v = virtualinvoke v.<org.apache.activemq.ActiveMQMessageAuditNoSync: long getLastSeqId(org.apache.activemq.command.ProducerId)>(v);
label:
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.locks.ReentrantReadWriteLock indexLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock writeLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock: void unlock()>();
return v;
label:
v := @caughtexception;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.locks.ReentrantReadWriteLock indexLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock writeLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock: void unlock()>();
throw v;
catch java.lang.Throwable from label to label with label;
}
public long size()
{
java.io.IOException v;
long v, v, v;
java.lang.RuntimeException v;
java.util.concurrent.atomic.AtomicLong v;
org.apache.activemq.store.kahadb.KahaDBStore v;
org.apache.activemq.store.kahadb.disk.page.PageFile v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
label:
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: java.util.concurrent.atomic.AtomicLong journalSize>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.disk.page.PageFile getPageFile()>();
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.page.PageFile: long getDiskSize()>();
v = v + v;
label:
return v;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
catch java.io.IOException from label to label with label;
}
public void beginTransaction(org.apache.activemq.broker.ConnectionContext) throws java.io.IOException
{
org.apache.activemq.store.kahadb.KahaDBStore v;
java.io.IOException v;
org.apache.activemq.broker.ConnectionContext v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Not yet implemented.");
throw v;
}
public void commitTransaction(org.apache.activemq.broker.ConnectionContext) throws java.io.IOException
{
org.apache.activemq.store.kahadb.KahaDBStore v;
java.io.IOException v;
org.apache.activemq.broker.ConnectionContext v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Not yet implemented.");
throw v;
}
public void rollbackTransaction(org.apache.activemq.broker.ConnectionContext) throws java.io.IOException
{
org.apache.activemq.store.kahadb.KahaDBStore v;
java.io.IOException v;
org.apache.activemq.broker.ConnectionContext v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Not yet implemented.");
throw v;
}
public void checkpoint(boolean) throws java.io.IOException
{
org.apache.activemq.store.kahadb.KahaDBStore v;
boolean v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: boolean;
specialinvoke v.<org.apache.activemq.store.kahadb.MessageDatabase: void checkpointCleanup(boolean)>(v);
return;
}
org.apache.activemq.command.Message loadMessage(org.apache.activemq.store.kahadb.disk.journal.Location) throws java.io.IOException
{
java.lang.Throwable v;
java.io.DataInputStream v;
org.apache.activemq.store.kahadb.JournalCommand v;
org.apache.activemq.protobuf.Buffer v;
int[] v;
int v, v;
java.lang.String v, v, v;
org.apache.activemq.store.kahadb.disk.journal.Location v;
boolean v;
org.apache.activemq.broker.BrokerService v;
org.slf4j.Logger v;
org.apache.activemq.wireformat.WireFormat v;
java.io.IOException v, v, v;
org.apache.activemq.protobuf.BufferInputStream v;
org.apache.activemq.store.kahadb.KahaDBStore v;
org.apache.activemq.store.kahadb.data.KahaEntryType v, v;
java.lang.Object v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: org.apache.activemq.store.kahadb.disk.journal.Location;
label:
v = virtualinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.kahadb.JournalCommand load(org.apache.activemq.store.kahadb.disk.journal.Location)>(v);
v = <org.apache.activemq.store.kahadb.KahaDBStore$6: int[] $SwitchMap$org$apache$activemq$store$kahadb$data$KahaEntryType>;
v = interfaceinvoke v.<org.apache.activemq.store.kahadb.JournalCommand: org.apache.activemq.store.kahadb.data.KahaEntryType type()>();
v = virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaEntryType: int ordinal()>();
v = v[v];
lookupswitch(v)
{
case 1: goto label;
case 2: goto label;
default: goto label;
};
label:
virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaUpdateMessageCommand: org.apache.activemq.store.kahadb.data.KahaAddMessageCommand getMessage()>();
goto label;
label:
v = new java.io.IOException;
v = interfaceinvoke v.<org.apache.activemq.store.kahadb.JournalCommand: org.apache.activemq.store.kahadb.data.KahaEntryType type()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.store.kahadb.data.KahaEntryType,org.apache.activemq.store.kahadb.disk.journal.Location)>(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[])>("Could not load journal record, unexpected command type: \u at location: \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaAddMessageCommand: boolean hasMessage()>();
if v != 0 goto label;
v = new java.io.IOException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.store.kahadb.disk.journal.Location)>(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[])>("Could not load journal record, null message content at location: \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.wireformat.WireFormat wireFormat>;
v = new java.io.DataInputStream;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaAddMessageCommand: org.apache.activemq.protobuf.Buffer getMessage()>();
v = virtualinvoke v.<org.apache.activemq.protobuf.Buffer: org.apache.activemq.protobuf.BufferInputStream newInput()>();
specialinvoke v.<java.io.DataInputStream: void <init>(java.io.InputStream)>(v);
v = interfaceinvoke v.<org.apache.activemq.wireformat.WireFormat: java.lang.Object unmarshal(java.io.DataInput)>(v);
label:
return v;
label:
v := @caughtexception;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.store.kahadb.disk.journal.Location)>(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[])>("Unexpected error on journal read at: \u0001");
v = staticinvoke <org.apache.activemq.util.IOExceptionSupport: java.io.IOException create(java.lang.String,java.lang.Throwable)>(v, v);
v = <org.apache.activemq.store.kahadb.KahaDBStore: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to load message at: {}", v, v);
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.broker.BrokerService brokerService>;
virtualinvoke v.<org.apache.activemq.broker.BrokerService: void handleIOException(java.io.IOException)>(v);
throw v;
catch java.lang.Throwable from label to label with label;
}
org.apache.activemq.store.kahadb.data.KahaLocation convert(org.apache.activemq.store.kahadb.disk.journal.Location)
{
int v, v;
org.apache.activemq.store.kahadb.KahaDBStore v;
org.apache.activemq.store.kahadb.data.KahaLocation v;
org.apache.activemq.store.kahadb.disk.journal.Location v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: org.apache.activemq.store.kahadb.disk.journal.Location;
v = new org.apache.activemq.store.kahadb.data.KahaLocation;
specialinvoke v.<org.apache.activemq.store.kahadb.data.KahaLocation: void <init>()>();
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.journal.Location: int getDataFileId()>();
virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaLocation: java.lang.Object setLogId(int)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.disk.journal.Location: int getOffset()>();
virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaLocation: java.lang.Object setOffset(int)>(v);
return v;
}
org.apache.activemq.store.kahadb.data.KahaDestination convert(org.apache.activemq.command.ActiveMQDestination)
{
org.apache.activemq.store.kahadb.data.KahaDestination$DestinationType v, v, v, v;
org.apache.activemq.store.kahadb.data.KahaDestination v;
org.apache.activemq.command.ActiveMQDestination v;
byte v;
org.apache.activemq.store.kahadb.KahaDBStore v;
java.lang.String v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: org.apache.activemq.command.ActiveMQDestination;
v = new org.apache.activemq.store.kahadb.data.KahaDestination;
specialinvoke v.<org.apache.activemq.store.kahadb.data.KahaDestination: void <init>()>();
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: java.lang.String getPhysicalName()>();
virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaDestination: java.lang.Object setName(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: byte getDestinationType()>();
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
default: goto label;
};
label:
v = <org.apache.activemq.store.kahadb.data.KahaDestination$DestinationType: org.apache.activemq.store.kahadb.data.KahaDestination$DestinationType QUEUE>;
virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaDestination: java.lang.Object setType(org.apache.activemq.store.kahadb.data.KahaDestination$DestinationType)>(v);
return v;
label:
v = <org.apache.activemq.store.kahadb.data.KahaDestination$DestinationType: org.apache.activemq.store.kahadb.data.KahaDestination$DestinationType TOPIC>;
virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaDestination: java.lang.Object setType(org.apache.activemq.store.kahadb.data.KahaDestination$DestinationType)>(v);
return v;
label:
v = <org.apache.activemq.store.kahadb.data.KahaDestination$DestinationType: org.apache.activemq.store.kahadb.data.KahaDestination$DestinationType TEMP_QUEUE>;
virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaDestination: java.lang.Object setType(org.apache.activemq.store.kahadb.data.KahaDestination$DestinationType)>(v);
return v;
label:
v = <org.apache.activemq.store.kahadb.data.KahaDestination$DestinationType: org.apache.activemq.store.kahadb.data.KahaDestination$DestinationType TEMP_TOPIC>;
virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaDestination: java.lang.Object setType(org.apache.activemq.store.kahadb.data.KahaDestination$DestinationType)>(v);
return v;
label:
return null;
}
org.apache.activemq.command.ActiveMQDestination convert(java.lang.String)
{
java.lang.IllegalArgumentException v;
org.apache.activemq.command.ActiveMQDestination v;
int v, v, v;
org.apache.activemq.store.kahadb.KahaDBStore v;
java.lang.String v, v, v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: int indexOf(java.lang.String)>(":");
if v >= 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Not in the valid destination format");
throw v;
label:
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = v + 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
v = specialinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.command.ActiveMQDestination convert(int,java.lang.String)>(v, v);
return v;
}
private org.apache.activemq.command.ActiveMQDestination convert(org.apache.activemq.store.kahadb.data.KahaDestination)
{
org.apache.activemq.store.kahadb.data.KahaDestination$DestinationType v;
org.apache.activemq.store.kahadb.data.KahaDestination v;
int v;
org.apache.activemq.store.kahadb.KahaDBStore v;
java.lang.String v;
org.apache.activemq.command.ActiveMQDestination v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: org.apache.activemq.store.kahadb.data.KahaDestination;
v = virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaDestination: org.apache.activemq.store.kahadb.data.KahaDestination$DestinationType getType()>();
v = virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaDestination$DestinationType: int getNumber()>();
v = virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaDestination: java.lang.String getName()>();
v = specialinvoke v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.command.ActiveMQDestination convert(int,java.lang.String)>(v, v);
return v;
}
private org.apache.activemq.command.ActiveMQDestination convert(int, java.lang.String)
{
org.apache.activemq.store.kahadb.data.KahaDestination$DestinationType v;
org.apache.activemq.command.ActiveMQTempQueue v;
org.apache.activemq.command.ActiveMQQueue v;
org.apache.activemq.command.ActiveMQTempTopic v;
java.lang.IllegalArgumentException v;
org.apache.activemq.command.ActiveMQTopic v;
int[] v;
int v, v, v;
org.apache.activemq.store.kahadb.KahaDBStore v;
java.lang.String v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: int;
v := @parameter: java.lang.String;
v = <org.apache.activemq.store.kahadb.KahaDBStore$6: int[] $SwitchMap$org$apache$activemq$store$kahadb$data$KahaDestination$DestinationType>;
v = staticinvoke <org.apache.activemq.store.kahadb.data.KahaDestination$DestinationType: org.apache.activemq.store.kahadb.data.KahaDestination$DestinationType valueOf(int)>(v);
v = virtualinvoke v.<org.apache.activemq.store.kahadb.data.KahaDestination$DestinationType: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
default: goto label;
};
label:
v = new org.apache.activemq.command.ActiveMQQueue;
specialinvoke v.<org.apache.activemq.command.ActiveMQQueue: void <init>(java.lang.String)>(v);
return v;
label:
v = new org.apache.activemq.command.ActiveMQTopic;
specialinvoke v.<org.apache.activemq.command.ActiveMQTopic: void <init>(java.lang.String)>(v);
return v;
label:
v = new org.apache.activemq.command.ActiveMQTempQueue;
specialinvoke v.<org.apache.activemq.command.ActiveMQTempQueue: void <init>(java.lang.String)>(v);
return v;
label:
v = new org.apache.activemq.command.ActiveMQTempTopic;
specialinvoke v.<org.apache.activemq.command.ActiveMQTempTopic: void <init>(java.lang.String)>(v);
return v;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Not in the valid destination format");
throw v;
}
public org.apache.activemq.store.TransactionIdTransformer getTransactionIdTransformer()
{
org.apache.activemq.store.kahadb.KahaDBStore v;
org.apache.activemq.store.TransactionIdTransformer v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.TransactionIdTransformer transactionIdTransformer>;
return v;
}
public void setTransactionIdTransformer(org.apache.activemq.store.TransactionIdTransformer)
{
org.apache.activemq.store.kahadb.KahaDBStore v;
org.apache.activemq.store.TransactionIdTransformer v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v := @parameter: org.apache.activemq.store.TransactionIdTransformer;
v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.store.TransactionIdTransformer transactionIdTransformer> = v;
return;
}
public org.apache.activemq.broker.scheduler.JobSchedulerStore createJobSchedulerStore() throws java.io.IOException, java.lang.UnsupportedOperationException
{
org.apache.activemq.store.kahadb.KahaDBStore v;
org.apache.activemq.store.kahadb.scheduler.JobSchedulerStoreImpl v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v = new org.apache.activemq.store.kahadb.scheduler.JobSchedulerStoreImpl;
specialinvoke v.<org.apache.activemq.store.kahadb.scheduler.JobSchedulerStoreImpl: void <init>()>();
return v;
}
public boolean isPersistNoLocal()
{
org.apache.activemq.broker.BrokerService v;
int v;
org.apache.activemq.store.kahadb.KahaDBStore v;
boolean v;
v := @this: org.apache.activemq.store.kahadb.KahaDBStore;
v = v.<org.apache.activemq.store.kahadb.KahaDBStore: org.apache.activemq.broker.BrokerService brokerService>;
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: int getStoreOpenWireVersion()>();
if v < 11 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
static void <clinit>()
{
org.slf4j.Logger v;
int v, v;
java.lang.String v, v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/activemq/store/kahadb/KahaDBStore;");
<org.apache.activemq.store.kahadb.KahaDBStore: org.slf4j.Logger LOG> = v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("org.apache.activemq.store.kahadb.CANCELED_TASK_MOD_METRIC", "0");
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String,int)>(v, 10);
<org.apache.activemq.store.kahadb.KahaDBStore: int cancelledTaskModMetric> = v;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String,java.lang.String)>("org.apache.activemq.store.kahadb.ASYNC_EXECUTOR_MAX_THREADS", "1");
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String,int)>(v, 10);
<org.apache.activemq.store.kahadb.KahaDBStore: int asyncExecutorMaxThreads> = v;
return;
}
}