public class org.apache.activemq.broker.region.RegionBroker extends org.apache.activemq.broker.EmptyBroker
{
public static final java.lang.String ORIGINAL_EXPIRATION;
private static final org.slf4j.Logger LOG;
private static final org.apache.activemq.util.IdGenerator BROKER_ID_GENERATOR;
protected final org.apache.activemq.broker.region.DestinationStatistics destinationStatistics;
protected org.apache.activemq.broker.region.DestinationFactory destinationFactory;
protected final java.util.Map connectionStates;
private final org.apache.activemq.broker.region.Region queueRegion;
private final org.apache.activemq.broker.region.Region topicRegion;
private final org.apache.activemq.broker.region.Region tempQueueRegion;
private final org.apache.activemq.broker.region.Region tempTopicRegion;
protected final org.apache.activemq.broker.BrokerService brokerService;
private boolean started;
private boolean keepDurableSubsActive;
private final java.util.concurrent.CopyOnWriteArrayList connections;
private final java.util.Map destinationGate;
private final java.util.Map destinations;
private final java.util.Map brokerInfos;
private final org.apache.activemq.util.LongSequenceGenerator sequenceGenerator;
private org.apache.activemq.command.BrokerId brokerId;
private java.lang.String brokerName;
private final java.util.Map clientIdSet;
private final org.apache.activemq.broker.region.DestinationInterceptor destinationInterceptor;
private org.apache.activemq.broker.ConnectionContext adminConnectionContext;
private final org.apache.activemq.thread.Scheduler scheduler;
private final java.util.concurrent.ThreadPoolExecutor executor;
private boolean allowTempAutoCreationOnSend;
private final java.util.concurrent.locks.ReentrantReadWriteLock inactiveDestinationsPurgeLock;
private final org.apache.activemq.thread.TaskRunnerFactory taskRunnerFactory;
private final java.util.concurrent.atomic.AtomicBoolean purgeInactiveDestinationsTaskInProgress;
private final java.lang.Runnable purgeInactiveDestinationsTask;
private final java.lang.Runnable purgeInactiveDestinationsWork;
public void <init>(org.apache.activemq.broker.BrokerService, org.apache.activemq.thread.TaskRunnerFactory, org.apache.activemq.usage.SystemUsage, org.apache.activemq.broker.region.DestinationFactory, org.apache.activemq.broker.region.DestinationInterceptor, org.apache.activemq.thread.Scheduler, java.util.concurrent.ThreadPoolExecutor) throws java.io.IOException
{
java.util.concurrent.ThreadPoolExecutor v;
java.util.concurrent.atomic.AtomicBoolean v;
java.util.HashMap v, v, v, v;
long v;
java.util.concurrent.locks.ReentrantReadWriteLock v;
java.util.Map v;
org.apache.activemq.broker.region.Region v, v, v, v;
org.apache.activemq.usage.SystemUsage v;
org.apache.activemq.broker.region.DestinationFactory v;
org.apache.activemq.broker.BrokerService v;
java.util.concurrent.ConcurrentHashMap v;
org.apache.activemq.broker.region.RegionBroker$2 v;
org.apache.activemq.broker.region.RegionBroker$1 v;
java.lang.IllegalArgumentException v;
org.apache.activemq.broker.region.DestinationInterceptor v;
org.apache.activemq.util.LongSequenceGenerator v, v;
org.apache.activemq.thread.Scheduler v;
org.apache.activemq.thread.TaskRunnerFactory v;
org.apache.activemq.broker.region.DestinationStatistics v;
org.apache.activemq.broker.region.RegionBroker v;
java.util.concurrent.CopyOnWriteArrayList v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.BrokerService;
v := @parameter: org.apache.activemq.thread.TaskRunnerFactory;
v := @parameter: org.apache.activemq.usage.SystemUsage;
v := @parameter: org.apache.activemq.broker.region.DestinationFactory;
v := @parameter: org.apache.activemq.broker.region.DestinationInterceptor;
v := @parameter: org.apache.activemq.thread.Scheduler;
v := @parameter: java.util.concurrent.ThreadPoolExecutor;
specialinvoke v.<org.apache.activemq.broker.EmptyBroker: void <init>()>();
v = new org.apache.activemq.broker.region.DestinationStatistics;
specialinvoke v.<org.apache.activemq.broker.region.DestinationStatistics: void <init>()>();
v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = staticinvoke <java.util.Collections: java.util.Map synchronizedMap(java.util.Map)>(v);
v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map connectionStates> = v;
v = new java.util.concurrent.CopyOnWriteArrayList;
specialinvoke v.<java.util.concurrent.CopyOnWriteArrayList: void <init>()>();
v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.CopyOnWriteArrayList connections> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map destinationGate> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map destinations> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map brokerInfos> = v;
v = new org.apache.activemq.util.LongSequenceGenerator;
specialinvoke v.<org.apache.activemq.util.LongSequenceGenerator: void <init>()>();
v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.util.LongSequenceGenerator sequenceGenerator> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map clientIdSet> = v;
v = new java.util.concurrent.locks.ReentrantReadWriteLock;
specialinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: void <init>()>();
v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.locks.ReentrantReadWriteLock inactiveDestinationsPurgeLock> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.atomic.AtomicBoolean purgeInactiveDestinationsTaskInProgress> = v;
v = new org.apache.activemq.broker.region.RegionBroker$1;
specialinvoke v.<org.apache.activemq.broker.region.RegionBroker$1: void <init>(org.apache.activemq.broker.region.RegionBroker)>(v);
v.<org.apache.activemq.broker.region.RegionBroker: java.lang.Runnable purgeInactiveDestinationsTask> = v;
v = new org.apache.activemq.broker.region.RegionBroker$2;
specialinvoke v.<org.apache.activemq.broker.region.RegionBroker$2: void <init>(org.apache.activemq.broker.region.RegionBroker)>(v);
v.<org.apache.activemq.broker.region.RegionBroker: java.lang.Runnable purgeInactiveDestinationsWork> = v;
v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.BrokerService brokerService> = v;
v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.ThreadPoolExecutor executor> = v;
v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.thread.Scheduler scheduler> = v;
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("null destinationFactory");
throw v;
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.util.LongSequenceGenerator sequenceGenerator>;
v = virtualinvoke v.<org.apache.activemq.broker.region.DestinationFactory: long getLastMessageBrokerSequenceId()>();
virtualinvoke v.<org.apache.activemq.util.LongSequenceGenerator: void setLastSequenceId(long)>(v);
v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.DestinationFactory destinationFactory> = v;
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region createQueueRegion(org.apache.activemq.usage.SystemUsage,org.apache.activemq.thread.TaskRunnerFactory,org.apache.activemq.broker.region.DestinationFactory)>(v, v, v);
v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region queueRegion> = v;
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region createTopicRegion(org.apache.activemq.usage.SystemUsage,org.apache.activemq.thread.TaskRunnerFactory,org.apache.activemq.broker.region.DestinationFactory)>(v, v, v);
v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region topicRegion> = v;
v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.DestinationInterceptor destinationInterceptor> = v;
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region createTempQueueRegion(org.apache.activemq.usage.SystemUsage,org.apache.activemq.thread.TaskRunnerFactory,org.apache.activemq.broker.region.DestinationFactory)>(v, v, v);
v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region tempQueueRegion> = v;
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region createTempTopicRegion(org.apache.activemq.usage.SystemUsage,org.apache.activemq.thread.TaskRunnerFactory,org.apache.activemq.broker.region.DestinationFactory)>(v, v, v);
v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region tempTopicRegion> = v;
v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.thread.TaskRunnerFactory taskRunnerFactory> = v;
return;
}
public java.util.Map getDestinationMap()
{
java.util.Map v, v;
org.apache.activemq.broker.region.Region v, v;
java.util.HashMap v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = new java.util.HashMap;
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region getQueueRegion()>();
v = interfaceinvoke v.<org.apache.activemq.broker.region.Region: java.util.Map getDestinationMap()>();
specialinvoke v.<java.util.HashMap: void <init>(java.util.Map)>(v);
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region getTopicRegion()>();
v = interfaceinvoke v.<org.apache.activemq.broker.region.Region: java.util.Map getDestinationMap()>();
interfaceinvoke v.<java.util.Map: void putAll(java.util.Map)>(v);
return v;
}
public java.util.Map getDestinationMap(org.apache.activemq.command.ActiveMQDestination)
{
java.lang.Throwable v;
java.util.Map v, v;
org.apache.activemq.broker.region.Region v;
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.command.ActiveMQDestination v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.command.ActiveMQDestination;
label:
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region getRegion(org.apache.activemq.command.ActiveMQDestination)>(v);
v = interfaceinvoke v.<org.apache.activemq.broker.region.Region: java.util.Map getDestinationMap()>();
label:
return v;
label:
v := @caughtexception;
v = staticinvoke <java.util.Collections: java.util.Map emptyMap()>();
return v;
catch javax.jms.JMSException from label to label with label;
}
public java.util.Set getDestinations(org.apache.activemq.command.ActiveMQDestination)
{
java.lang.Throwable v;
java.util.Set v, v;
org.apache.activemq.broker.region.Region v;
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.command.ActiveMQDestination v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.command.ActiveMQDestination;
label:
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region getRegion(org.apache.activemq.command.ActiveMQDestination)>(v);
v = interfaceinvoke v.<org.apache.activemq.broker.region.Region: java.util.Set getDestinations(org.apache.activemq.command.ActiveMQDestination)>(v);
label:
return v;
label:
v := @caughtexception;
v = staticinvoke <java.util.Collections: java.util.Set emptySet()>();
return v;
catch javax.jms.JMSException from label to label with label;
}
public org.apache.activemq.broker.region.Region getQueueRegion()
{
org.apache.activemq.broker.region.Region v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region queueRegion>;
return v;
}
public org.apache.activemq.broker.region.Region getTempQueueRegion()
{
org.apache.activemq.broker.region.Region v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region tempQueueRegion>;
return v;
}
public org.apache.activemq.broker.region.Region getTempTopicRegion()
{
org.apache.activemq.broker.region.Region v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region tempTopicRegion>;
return v;
}
public org.apache.activemq.broker.region.Region getTopicRegion()
{
org.apache.activemq.broker.region.Region v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region topicRegion>;
return v;
}
protected org.apache.activemq.broker.region.Region createTempTopicRegion(org.apache.activemq.usage.SystemUsage, org.apache.activemq.thread.TaskRunnerFactory, org.apache.activemq.broker.region.DestinationFactory)
{
org.apache.activemq.broker.region.TempTopicRegion v;
org.apache.activemq.thread.TaskRunnerFactory v;
org.apache.activemq.usage.SystemUsage v;
org.apache.activemq.broker.region.DestinationFactory v;
org.apache.activemq.broker.region.DestinationStatistics v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.usage.SystemUsage;
v := @parameter: org.apache.activemq.thread.TaskRunnerFactory;
v := @parameter: org.apache.activemq.broker.region.DestinationFactory;
v = new org.apache.activemq.broker.region.TempTopicRegion;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics>;
specialinvoke v.<org.apache.activemq.broker.region.TempTopicRegion: void <init>(org.apache.activemq.broker.region.RegionBroker,org.apache.activemq.broker.region.DestinationStatistics,org.apache.activemq.usage.SystemUsage,org.apache.activemq.thread.TaskRunnerFactory,org.apache.activemq.broker.region.DestinationFactory)>(v, v, v, v, v);
return v;
}
protected org.apache.activemq.broker.region.Region createTempQueueRegion(org.apache.activemq.usage.SystemUsage, org.apache.activemq.thread.TaskRunnerFactory, org.apache.activemq.broker.region.DestinationFactory)
{
org.apache.activemq.thread.TaskRunnerFactory v;
org.apache.activemq.usage.SystemUsage v;
org.apache.activemq.broker.region.DestinationFactory v;
org.apache.activemq.broker.region.DestinationStatistics v;
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.broker.region.TempQueueRegion v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.usage.SystemUsage;
v := @parameter: org.apache.activemq.thread.TaskRunnerFactory;
v := @parameter: org.apache.activemq.broker.region.DestinationFactory;
v = new org.apache.activemq.broker.region.TempQueueRegion;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics>;
specialinvoke v.<org.apache.activemq.broker.region.TempQueueRegion: void <init>(org.apache.activemq.broker.region.RegionBroker,org.apache.activemq.broker.region.DestinationStatistics,org.apache.activemq.usage.SystemUsage,org.apache.activemq.thread.TaskRunnerFactory,org.apache.activemq.broker.region.DestinationFactory)>(v, v, v, v, v);
return v;
}
protected org.apache.activemq.broker.region.Region createTopicRegion(org.apache.activemq.usage.SystemUsage, org.apache.activemq.thread.TaskRunnerFactory, org.apache.activemq.broker.region.DestinationFactory)
{
org.apache.activemq.thread.TaskRunnerFactory v;
org.apache.activemq.broker.region.TopicRegion v;
org.apache.activemq.usage.SystemUsage v;
org.apache.activemq.broker.region.DestinationFactory v;
org.apache.activemq.broker.region.DestinationStatistics v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.usage.SystemUsage;
v := @parameter: org.apache.activemq.thread.TaskRunnerFactory;
v := @parameter: org.apache.activemq.broker.region.DestinationFactory;
v = new org.apache.activemq.broker.region.TopicRegion;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics>;
specialinvoke v.<org.apache.activemq.broker.region.TopicRegion: void <init>(org.apache.activemq.broker.region.RegionBroker,org.apache.activemq.broker.region.DestinationStatistics,org.apache.activemq.usage.SystemUsage,org.apache.activemq.thread.TaskRunnerFactory,org.apache.activemq.broker.region.DestinationFactory)>(v, v, v, v, v);
return v;
}
protected org.apache.activemq.broker.region.Region createQueueRegion(org.apache.activemq.usage.SystemUsage, org.apache.activemq.thread.TaskRunnerFactory, org.apache.activemq.broker.region.DestinationFactory)
{
org.apache.activemq.thread.TaskRunnerFactory v;
org.apache.activemq.usage.SystemUsage v;
org.apache.activemq.broker.region.DestinationFactory v;
org.apache.activemq.broker.region.DestinationStatistics v;
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.broker.region.QueueRegion v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.usage.SystemUsage;
v := @parameter: org.apache.activemq.thread.TaskRunnerFactory;
v := @parameter: org.apache.activemq.broker.region.DestinationFactory;
v = new org.apache.activemq.broker.region.QueueRegion;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics>;
specialinvoke v.<org.apache.activemq.broker.region.QueueRegion: void <init>(org.apache.activemq.broker.region.RegionBroker,org.apache.activemq.broker.region.DestinationStatistics,org.apache.activemq.usage.SystemUsage,org.apache.activemq.thread.TaskRunnerFactory,org.apache.activemq.broker.region.DestinationFactory)>(v, v, v, v, v);
return v;
}
public void start() throws java.lang.Exception
{
org.apache.activemq.broker.BrokerService v;
java.lang.Runnable v;
org.apache.activemq.thread.Scheduler v;
int v;
org.apache.activemq.broker.region.Region v, v, v, v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v.<org.apache.activemq.broker.region.RegionBroker: boolean started> = 1;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region queueRegion>;
interfaceinvoke v.<org.apache.activemq.broker.region.Region: void start()>();
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region topicRegion>;
interfaceinvoke v.<org.apache.activemq.broker.region.Region: void start()>();
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region tempQueueRegion>;
interfaceinvoke v.<org.apache.activemq.broker.region.Region: void start()>();
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region tempTopicRegion>;
interfaceinvoke v.<org.apache.activemq.broker.region.Region: void start()>();
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.BrokerService brokerService>;
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: int getSchedulePeriodForDestinationPurge()>();
if v <= 0 goto label;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.thread.Scheduler scheduler>;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.lang.Runnable purgeInactiveDestinationsTask>;
virtualinvoke v.<org.apache.activemq.thread.Scheduler: void executePeriodically(java.lang.Runnable,long)>(v, v);
label:
return;
}
public void stop() throws java.lang.Exception
{
java.lang.Runnable v;
org.apache.activemq.util.ServiceStopper v;
java.util.Map v, v, v;
org.apache.activemq.thread.Scheduler v;
org.apache.activemq.broker.region.RegionBroker v;
java.util.concurrent.CopyOnWriteArrayList v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v.<org.apache.activemq.broker.region.RegionBroker: boolean started> = 0;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.thread.Scheduler scheduler>;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.lang.Runnable purgeInactiveDestinationsTask>;
virtualinvoke v.<org.apache.activemq.thread.Scheduler: void cancel(java.lang.Runnable)>(v);
v = new org.apache.activemq.util.ServiceStopper;
specialinvoke v.<org.apache.activemq.util.ServiceStopper: void <init>()>();
virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: void doStop(org.apache.activemq.util.ServiceStopper)>(v);
virtualinvoke v.<org.apache.activemq.util.ServiceStopper: void throwFirstException()>();
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map clientIdSet>;
interfaceinvoke v.<java.util.Map: void clear()>();
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.CopyOnWriteArrayList connections>;
virtualinvoke v.<java.util.concurrent.CopyOnWriteArrayList: void clear()>();
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map destinations>;
interfaceinvoke v.<java.util.Map: void clear()>();
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map brokerInfos>;
interfaceinvoke v.<java.util.Map: void clear()>();
return;
}
public org.apache.activemq.broker.region.policy.PolicyMap getDestinationPolicy()
{
org.apache.activemq.broker.BrokerService v, v;
org.apache.activemq.broker.region.policy.PolicyMap v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.BrokerService brokerService>;
if v == null goto label;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.BrokerService brokerService>;
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: org.apache.activemq.broker.region.policy.PolicyMap getDestinationPolicy()>();
goto label;
label:
v = null;
label:
return v;
}
public org.apache.activemq.broker.ConnectionContext getConnectionContext(java.lang.String)
{
java.util.Map v;
java.lang.Object v;
java.lang.String v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: java.lang.String;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map clientIdSet>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
return v;
}
public void addConnection(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ConnectionInfo) throws java.lang.Exception
{
java.lang.Throwable v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.ConnectionInfo v;
java.util.Map v, v, v, v;
java.lang.String v, v, v, v, v, v;
org.apache.activemq.broker.Connection v, v, v, v, v, v;
boolean v, v;
org.slf4j.Logger v, v;
java.io.IOException v;
javax.jms.InvalidClientIDException v, v;
java.lang.Object v;
org.apache.activemq.broker.region.RegionBroker v;
java.util.concurrent.CopyOnWriteArrayList v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ConnectionInfo;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: java.lang.String getClientId()>();
if v != null goto label;
v = new javax.jms.InvalidClientIDException;
specialinvoke v.<javax.jms.InvalidClientIDException: void <init>(java.lang.String)>("No clientID specified for connection request");
throw v;
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map clientIdSet>;
entermonitor v;
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map clientIdSet>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: boolean isAllowLinkStealing()>();
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map clientIdSet>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = new javax.jms.InvalidClientIDException;
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: java.lang.String getBrokerName()>();
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: org.apache.activemq.broker.Connection getConnection()>();
v = interfaceinvoke v.<org.apache.activemq.broker.Connection: java.lang.String getRemoteAddress()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(v, 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[])>("Broker: \u - Client: \u already connected from \u0001");
specialinvoke v.<javax.jms.InvalidClientIDException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map clientIdSet>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: org.apache.activemq.broker.Connection getConnection()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: org.apache.activemq.broker.Connection getConnection()>();
v = <org.apache.activemq.broker.region.RegionBroker: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: org.apache.activemq.broker.Connection getConnection()>();
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Stealing link for clientId {} From Connection {}", v, v);
v = v instanceof org.apache.activemq.broker.TransportConnection;
if v == 0 goto label;
v = new java.io.IOException;
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: org.apache.activemq.broker.Connection getConnection()>();
v = interfaceinvoke v.<org.apache.activemq.broker.Connection: java.lang.String getConnectionId()>();
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[])>("Stealing link for clientId \u From Connection \u0001");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
virtualinvoke v.<org.apache.activemq.broker.TransportConnection: void stopAsync(java.lang.Throwable)>(v);
goto label;
label:
interfaceinvoke v.<org.apache.activemq.broker.Connection: void stop()>();
goto label;
label:
v = <org.apache.activemq.broker.region.RegionBroker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object)>("No Connection found for {}", v);
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.CopyOnWriteArrayList connections>;
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: org.apache.activemq.broker.Connection getConnection()>();
virtualinvoke v.<java.util.concurrent.CopyOnWriteArrayList: boolean add(java.lang.Object)>(v);
return;
catch java.lang.Throwable from label to label with label;
}
public void removeConnection(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ConnectionInfo, java.lang.Throwable) throws java.lang.Exception
{
java.lang.Throwable v, v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.ConnectionInfo v;
java.util.Map v, v, v;
java.lang.String v;
org.apache.activemq.broker.Connection v;
boolean v;
org.apache.activemq.command.ConnectionId v, v;
javax.jms.InvalidClientIDException v;
java.lang.Object v;
org.apache.activemq.broker.region.RegionBroker v;
java.util.concurrent.CopyOnWriteArrayList v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ConnectionInfo;
v := @parameter: java.lang.Throwable;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: java.lang.String getClientId()>();
if v != null goto label;
v = new javax.jms.InvalidClientIDException;
specialinvoke v.<javax.jms.InvalidClientIDException: void <init>(java.lang.String)>("No clientID specified for connection disconnect request");
throw v;
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map clientIdSet>;
entermonitor v;
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map clientIdSet>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != v goto label;
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: org.apache.activemq.command.ConnectionId getConnectionId()>();
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: boolean isEqual(org.apache.activemq.command.ConnectionId,org.apache.activemq.command.ConnectionId)>(v, v);
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map clientIdSet>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.CopyOnWriteArrayList connections>;
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: org.apache.activemq.broker.Connection getConnection()>();
virtualinvoke v.<java.util.concurrent.CopyOnWriteArrayList: boolean remove(java.lang.Object)>(v);
return;
catch java.lang.Throwable from label to label with label;
}
protected boolean isEqual(org.apache.activemq.command.ConnectionId, org.apache.activemq.command.ConnectionId)
{
org.apache.activemq.command.ConnectionId v, v;
org.apache.activemq.broker.region.RegionBroker v;
boolean v, v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.command.ConnectionId;
v := @parameter: org.apache.activemq.command.ConnectionId;
if v == v goto label;
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionId: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public org.apache.activemq.broker.Connection[] getClients() throws java.lang.Exception
{
int v;
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.broker.Connection[] v;
java.util.ArrayList v;
java.util.concurrent.CopyOnWriteArrayList v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = new java.util.ArrayList;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.CopyOnWriteArrayList connections>;
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = virtualinvoke v.<java.util.ArrayList: int size()>();
v = newarray (org.apache.activemq.broker.Connection)[v];
virtualinvoke v.<java.util.ArrayList: java.lang.Object[] toArray(java.lang.Object[])>(v);
return v;
}
public org.apache.activemq.broker.region.Destination addDestination(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ActiveMQDestination, boolean) throws java.lang.Exception
{
org.apache.activemq.broker.ConnectionContext v;
java.util.Map v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v, v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.broker.region.Destination v;
java.lang.Throwable v, v, v, v;
org.apache.activemq.broker.region.Region v;
java.lang.Object v, v, v, v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ActiveMQDestination;
v := @parameter: boolean;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map destinations>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
return v;
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map destinationGate>;
entermonitor v;
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map destinations>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
exitmonitor v;
label:
return v;
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map destinationGate>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map destinationGate>;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map destinationGate>;
virtualinvoke v.<java.lang.Object: void wait()>();
goto label;
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map destinations>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
exitmonitor v;
label:
return v;
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map destinationGate>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v = 1;
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: boolean isTemporary()>();
if v == 0 goto label;
v = v;
label:
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region getRegion(org.apache.activemq.command.ActiveMQDestination)>(v);
v = interfaceinvoke v.<org.apache.activemq.broker.region.Region: org.apache.activemq.broker.region.Destination addDestination(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,boolean)>(v, v, v);
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map destinations>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map destinationGate>;
entermonitor v;
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map destinationGate>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map destinationGate>;
virtualinvoke v.<java.lang.Object: void notifyAll()>();
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v := @caughtexception;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map destinationGate>;
entermonitor v;
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map destinationGate>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map destinationGate>;
virtualinvoke v.<java.lang.Object: void notifyAll()>();
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
throw v;
label:
return v;
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;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void removeDestination(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ActiveMQDestination, long) throws java.lang.Exception
{
long v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.broker.ConnectionContext v;
java.util.Map v, v;
org.apache.activemq.broker.region.Region v;
org.apache.activemq.broker.region.RegionBroker v;
boolean v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ActiveMQDestination;
v := @parameter: long;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map destinations>;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region getRegion(org.apache.activemq.command.ActiveMQDestination)>(v);
interfaceinvoke v.<org.apache.activemq.broker.region.Region: void removeDestination(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,long)>(v, v, v);
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map destinations>;
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
label:
return;
}
public void addDestinationInfo(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.DestinationInfo) throws java.lang.Exception
{
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.DestinationInfo v;
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.command.ActiveMQDestination v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.DestinationInfo;
v = virtualinvoke v.<org.apache.activemq.command.DestinationInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Destination addDestination(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,boolean)>(v, v, 1);
return;
}
public void removeDestinationInfo(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.DestinationInfo) throws java.lang.Exception
{
org.apache.activemq.broker.ConnectionContext v;
long v;
org.apache.activemq.command.DestinationInfo v;
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.command.ActiveMQDestination v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.DestinationInfo;
v = virtualinvoke v.<org.apache.activemq.command.DestinationInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.DestinationInfo: long getTimeout()>();
virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: void removeDestination(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,long)>(v, v, v);
return;
}
public org.apache.activemq.command.ActiveMQDestination[] getDestinations() throws java.lang.Exception
{
java.util.Map v;
int v;
java.util.Set v;
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.command.ActiveMQDestination[] v;
java.util.ArrayList v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = new java.util.ArrayList;
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map getDestinationMap()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = virtualinvoke v.<java.util.ArrayList: int size()>();
v = newarray (org.apache.activemq.command.ActiveMQDestination)[v];
virtualinvoke v.<java.util.ArrayList: java.lang.Object[] toArray(java.lang.Object[])>(v);
return v;
}
public void addProducer(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ProducerInfo) throws java.lang.Exception
{
java.lang.Throwable v;
java.util.concurrent.locks.ReentrantReadWriteLock v, v, v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock v, v, v;
org.apache.activemq.command.ProducerInfo v;
org.apache.activemq.broker.region.Region v;
org.apache.activemq.broker.region.RegionBroker v;
boolean v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ProducerInfo;
v = virtualinvoke v.<org.apache.activemq.command.ProducerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
if v == null goto label;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.locks.ReentrantReadWriteLock inactiveDestinationsPurgeLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock readLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock: void lock()>();
label:
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: org.apache.activemq.broker.Broker getBroker()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: boolean isAllowTempAutoCreationOnSend()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: org.apache.activemq.broker.region.Destination addDestination(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,boolean)>(v, v, v);
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region getRegion(org.apache.activemq.command.ActiveMQDestination)>(v);
interfaceinvoke v.<org.apache.activemq.broker.region.Region: void addProducer(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ProducerInfo)>(v, v);
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.locks.ReentrantReadWriteLock inactiveDestinationsPurgeLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock readLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.locks.ReentrantReadWriteLock inactiveDestinationsPurgeLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock readLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void removeProducer(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ProducerInfo) throws java.lang.Exception
{
java.lang.Throwable v;
java.util.concurrent.locks.ReentrantReadWriteLock v, v, v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.broker.ConnectionContext v;
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock v, v, v;
org.apache.activemq.command.ProducerInfo v;
org.apache.activemq.broker.region.Region v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ProducerInfo;
v = virtualinvoke v.<org.apache.activemq.command.ProducerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
if v == null goto label;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.locks.ReentrantReadWriteLock inactiveDestinationsPurgeLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock readLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock: void lock()>();
label:
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region getRegion(org.apache.activemq.command.ActiveMQDestination)>(v);
interfaceinvoke v.<org.apache.activemq.broker.region.Region: void removeProducer(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ProducerInfo)>(v, v);
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.locks.ReentrantReadWriteLock inactiveDestinationsPurgeLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock readLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.locks.ReentrantReadWriteLock inactiveDestinationsPurgeLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock readLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public org.apache.activemq.broker.region.Subscription addConsumer(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ConsumerInfo) throws java.lang.Exception
{
java.lang.Throwable v;
org.apache.activemq.broker.region.Subscription v;
java.util.concurrent.locks.ReentrantReadWriteLock v, v, v;
org.apache.activemq.broker.region.DestinationInterceptor v, v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.broker.ConnectionContext v;
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock v, v, v;
org.apache.activemq.broker.region.Region v;
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.command.ConsumerInfo v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ConsumerInfo;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.DestinationInterceptor destinationInterceptor>;
if v == null goto label;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.DestinationInterceptor destinationInterceptor>;
interfaceinvoke v.<org.apache.activemq.broker.region.DestinationInterceptor: void create(org.apache.activemq.broker.Broker,org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination)>(v, v, v);
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.locks.ReentrantReadWriteLock inactiveDestinationsPurgeLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock readLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock: void lock()>();
label:
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region getRegion(org.apache.activemq.command.ActiveMQDestination)>(v);
v = interfaceinvoke v.<org.apache.activemq.broker.region.Region: org.apache.activemq.broker.region.Subscription addConsumer(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ConsumerInfo)>(v, v);
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.locks.ReentrantReadWriteLock inactiveDestinationsPurgeLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock readLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock: void unlock()>();
return v;
label:
v := @caughtexception;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.locks.ReentrantReadWriteLock inactiveDestinationsPurgeLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock readLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock: void unlock()>();
throw v;
catch java.lang.Throwable from label to label with label;
}
public void removeConsumer(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ConsumerInfo) throws java.lang.Exception
{
java.lang.Throwable v;
java.util.concurrent.locks.ReentrantReadWriteLock v, v, v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.broker.ConnectionContext v;
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock v, v, v;
org.apache.activemq.broker.region.Region v;
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.command.ConsumerInfo v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ConsumerInfo;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.locks.ReentrantReadWriteLock inactiveDestinationsPurgeLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock readLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock: void lock()>();
label:
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region getRegion(org.apache.activemq.command.ActiveMQDestination)>(v);
interfaceinvoke v.<org.apache.activemq.broker.region.Region: void removeConsumer(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ConsumerInfo)>(v, v);
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.locks.ReentrantReadWriteLock inactiveDestinationsPurgeLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock readLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.locks.ReentrantReadWriteLock inactiveDestinationsPurgeLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock readLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void removeSubscription(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.RemoveSubscriptionInfo) throws java.lang.Exception
{
java.lang.Throwable v;
org.apache.activemq.command.RemoveSubscriptionInfo v;
java.util.concurrent.locks.ReentrantReadWriteLock v, v, v;
org.apache.activemq.broker.ConnectionContext v;
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock v, v, v;
org.apache.activemq.broker.region.Region v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.RemoveSubscriptionInfo;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.locks.ReentrantReadWriteLock inactiveDestinationsPurgeLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock readLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock: void lock()>();
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region topicRegion>;
interfaceinvoke v.<org.apache.activemq.broker.region.Region: void removeSubscription(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.RemoveSubscriptionInfo)>(v, v);
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.locks.ReentrantReadWriteLock inactiveDestinationsPurgeLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock readLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.locks.ReentrantReadWriteLock inactiveDestinationsPurgeLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock readLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock: void unlock()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void send(org.apache.activemq.broker.ProducerBrokerExchange, org.apache.activemq.command.Message) throws java.lang.Exception
{
long v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v, v;
org.apache.activemq.command.Message v;
org.apache.activemq.broker.region.Region v, v, v;
boolean v, v, v, v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.broker.ProducerBrokerExchange v;
org.apache.activemq.broker.region.Destination v, v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ProducerBrokerExchange;
v := @parameter: org.apache.activemq.command.Message;
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
virtualinvoke v.<org.apache.activemq.command.Message: void setBrokerInTime(long)>(v);
v = virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: boolean isMutable()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: org.apache.activemq.broker.region.Region getRegion()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: org.apache.activemq.broker.region.Destination getRegionDestination()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: org.apache.activemq.broker.region.Destination getRegionDestination()>();
v = interfaceinvoke v.<org.apache.activemq.broker.region.Destination: boolean isDisposed()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: org.apache.activemq.broker.ConnectionContext getConnectionContext()>();
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: org.apache.activemq.broker.Broker getBroker()>();
v = virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: org.apache.activemq.broker.ConnectionContext getConnectionContext()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: boolean isAllowTempAutoCreationOnSend()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: org.apache.activemq.broker.region.Destination addDestination(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,boolean)>(v, v, v);
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region getRegion(org.apache.activemq.command.ActiveMQDestination)>(v);
virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: void setRegion(org.apache.activemq.broker.region.Region)>(v);
virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: void setRegionDestination(org.apache.activemq.broker.region.Destination)>(null);
label:
v = virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: org.apache.activemq.broker.region.Region getRegion()>();
interfaceinvoke v.<org.apache.activemq.broker.region.Region: void send(org.apache.activemq.broker.ProducerBrokerExchange,org.apache.activemq.command.Message)>(v, v);
v = virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: boolean isMutable()>();
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: void setRegionDestination(org.apache.activemq.broker.region.Destination)>(null);
virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: void setRegion(org.apache.activemq.broker.region.Region)>(null);
label:
return;
}
public void acknowledge(org.apache.activemq.broker.ConsumerBrokerExchange, org.apache.activemq.command.MessageAck) throws java.lang.Exception
{
org.apache.activemq.command.MessageAck v;
org.apache.activemq.broker.ConsumerBrokerExchange v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.broker.region.Region v, v, v;
org.apache.activemq.broker.region.RegionBroker v;
boolean v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConsumerBrokerExchange;
v := @parameter: org.apache.activemq.command.MessageAck;
v = virtualinvoke v.<org.apache.activemq.broker.ConsumerBrokerExchange: boolean isWildcard()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.ConsumerBrokerExchange: org.apache.activemq.broker.region.Region getRegion()>();
if v != null goto label;
label:
v = virtualinvoke v.<org.apache.activemq.command.MessageAck: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region getRegion(org.apache.activemq.command.ActiveMQDestination)>(v);
virtualinvoke v.<org.apache.activemq.broker.ConsumerBrokerExchange: void setRegion(org.apache.activemq.broker.region.Region)>(v);
label:
v = virtualinvoke v.<org.apache.activemq.broker.ConsumerBrokerExchange: org.apache.activemq.broker.region.Region getRegion()>();
interfaceinvoke v.<org.apache.activemq.broker.region.Region: void acknowledge(org.apache.activemq.broker.ConsumerBrokerExchange,org.apache.activemq.command.MessageAck)>(v, v);
return;
}
public org.apache.activemq.broker.region.Region getRegion(org.apache.activemq.command.ActiveMQDestination) throws javax.jms.JMSException
{
javax.jms.JMSException v;
org.apache.activemq.command.ActiveMQDestination v;
byte v;
org.apache.activemq.broker.region.Region v, v, v, v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.command.ActiveMQDestination;
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 = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region queueRegion>;
return v;
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region topicRegion>;
return v;
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region tempQueueRegion>;
return v;
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region tempTopicRegion>;
return v;
label:
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: javax.jms.JMSException createUnknownDestinationTypeException(org.apache.activemq.command.ActiveMQDestination)>(v);
throw v;
}
public org.apache.activemq.command.Response messagePull(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.MessagePull) throws java.lang.Exception
{
org.apache.activemq.command.Response v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.broker.region.Region v;
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.command.MessagePull v;
org.apache.activemq.command.ActiveMQDestination v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.MessagePull;
v = virtualinvoke v.<org.apache.activemq.command.MessagePull: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region getRegion(org.apache.activemq.command.ActiveMQDestination)>(v);
v = interfaceinvoke v.<org.apache.activemq.broker.region.Region: org.apache.activemq.command.Response messagePull(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.MessagePull)>(v, v);
return v;
}
public org.apache.activemq.command.TransactionId[] getPreparedTransactions(org.apache.activemq.broker.ConnectionContext) throws java.lang.Exception
{
java.lang.IllegalAccessException v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v = new java.lang.IllegalAccessException;
specialinvoke v.<java.lang.IllegalAccessException: void <init>(java.lang.String)>("Transaction operation not implemented by this broker.");
throw v;
}
public void beginTransaction(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.TransactionId) throws java.lang.Exception
{
java.lang.IllegalAccessException v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.command.TransactionId v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.TransactionId;
v = new java.lang.IllegalAccessException;
specialinvoke v.<java.lang.IllegalAccessException: void <init>(java.lang.String)>("Transaction operation not implemented by this broker.");
throw v;
}
public int prepareTransaction(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.TransactionId) throws java.lang.Exception
{
java.lang.IllegalAccessException v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.command.TransactionId v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.TransactionId;
v = new java.lang.IllegalAccessException;
specialinvoke v.<java.lang.IllegalAccessException: void <init>(java.lang.String)>("Transaction operation not implemented by this broker.");
throw v;
}
public void rollbackTransaction(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.TransactionId) throws java.lang.Exception
{
java.lang.IllegalAccessException v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.command.TransactionId v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.TransactionId;
v = new java.lang.IllegalAccessException;
specialinvoke v.<java.lang.IllegalAccessException: void <init>(java.lang.String)>("Transaction operation not implemented by this broker.");
throw v;
}
public void commitTransaction(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.TransactionId, boolean) throws java.lang.Exception
{
java.lang.IllegalAccessException v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.command.TransactionId v;
boolean v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.TransactionId;
v := @parameter: boolean;
v = new java.lang.IllegalAccessException;
specialinvoke v.<java.lang.IllegalAccessException: void <init>(java.lang.String)>("Transaction operation not implemented by this broker.");
throw v;
}
public void forgetTransaction(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.TransactionId) throws java.lang.Exception
{
java.lang.IllegalAccessException v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.command.TransactionId v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.TransactionId;
v = new java.lang.IllegalAccessException;
specialinvoke v.<java.lang.IllegalAccessException: void <init>(java.lang.String)>("Transaction operation not implemented by this broker.");
throw v;
}
public void gc()
{
org.apache.activemq.broker.region.Region v, v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region queueRegion>;
interfaceinvoke v.<org.apache.activemq.broker.region.Region: void gc()>();
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region topicRegion>;
interfaceinvoke v.<org.apache.activemq.broker.region.Region: void gc()>();
return;
}
public org.apache.activemq.command.BrokerId getBrokerId()
{
org.apache.activemq.command.BrokerId v, v, v;
org.apache.activemq.util.IdGenerator v;
java.lang.String v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.command.BrokerId brokerId>;
if v != null goto label;
v = new org.apache.activemq.command.BrokerId;
v = <org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.util.IdGenerator BROKER_ID_GENERATOR>;
v = virtualinvoke v.<org.apache.activemq.util.IdGenerator: java.lang.String generateId()>();
specialinvoke v.<org.apache.activemq.command.BrokerId: void <init>(java.lang.String)>(v);
v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.command.BrokerId brokerId> = v;
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.command.BrokerId brokerId>;
return v;
}
public void setBrokerId(org.apache.activemq.command.BrokerId)
{
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.command.BrokerId v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.command.BrokerId;
v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.command.BrokerId brokerId> = v;
return;
}
public java.lang.String getBrokerName()
{
java.util.Locale v;
java.lang.String v, v, v, v;
org.apache.activemq.broker.region.RegionBroker v;
java.lang.Exception v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.lang.String brokerName>;
if v != null goto label;
label:
v = staticinvoke <org.apache.activemq.util.InetAddressUtil: java.lang.String getLocalHostName()>();
v = <java.util.Locale: java.util.Locale ENGLISH>;
v = virtualinvoke v.<java.lang.String: java.lang.String toLowerCase(java.util.Locale)>(v);
v.<org.apache.activemq.broker.region.RegionBroker: java.lang.String brokerName> = v;
label:
goto label;
label:
v := @caughtexception;
v.<org.apache.activemq.broker.region.RegionBroker: java.lang.String brokerName> = "localhost";
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.lang.String brokerName>;
return v;
catch java.lang.Exception from label to label with label;
}
public void setBrokerName(java.lang.String)
{
java.lang.String v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: java.lang.String;
v.<org.apache.activemq.broker.region.RegionBroker: java.lang.String brokerName> = v;
return;
}
public org.apache.activemq.broker.region.DestinationStatistics getDestinationStatistics()
{
org.apache.activemq.broker.region.DestinationStatistics v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics>;
return v;
}
protected javax.jms.JMSException createUnknownDestinationTypeException(org.apache.activemq.command.ActiveMQDestination)
{
byte v;
java.lang.String v;
javax.jms.JMSException v;
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.command.ActiveMQDestination v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.command.ActiveMQDestination;
v = new javax.jms.JMSException;
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: byte getDestinationType()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (byte)>(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[])>("Unknown destination type: \u0001");
specialinvoke v.<javax.jms.JMSException: void <init>(java.lang.String)>(v);
return v;
}
public synchronized void addBroker(org.apache.activemq.broker.Connection, org.apache.activemq.command.BrokerInfo)
{
java.lang.Object[] v;
org.slf4j.Logger v;
java.lang.Integer v;
org.apache.activemq.command.BrokerInfo v;
java.util.Map v, v, v;
org.apache.activemq.command.BrokerId v, v;
int v;
java.lang.Object v;
java.lang.String v, v;
org.apache.activemq.broker.Connection v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.Connection;
v := @parameter: org.apache.activemq.command.BrokerInfo;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map brokerInfos>;
v = virtualinvoke v.<org.apache.activemq.command.BrokerInfo: org.apache.activemq.command.BrokerId getBrokerId()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = virtualinvoke v.<org.apache.activemq.command.BrokerInfo: org.apache.activemq.command.BrokerInfo copy()>();
virtualinvoke v.<org.apache.activemq.command.BrokerInfo: void setPeerBrokerInfos(org.apache.activemq.command.BrokerInfo[])>(null);
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map brokerInfos>;
v = virtualinvoke v.<org.apache.activemq.command.BrokerInfo: org.apache.activemq.command.BrokerId getBrokerId()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
virtualinvoke v.<org.apache.activemq.command.BrokerInfo: void incrementRefCount()>();
v = <org.apache.activemq.broker.region.RegionBroker: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: java.lang.String getBrokerName()>();
v[0] = v;
v = virtualinvoke v.<org.apache.activemq.command.BrokerInfo: java.lang.String getBrokerName()>();
v[1] = v;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map brokerInfos>;
v = interfaceinvoke v.<java.util.Map: int size()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("{} addBroker: {} brokerInfo size: {}", v);
virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: void addBrokerInClusterUpdate(org.apache.activemq.command.BrokerInfo)>(v);
return;
}
public synchronized void removeBroker(org.apache.activemq.broker.Connection, org.apache.activemq.command.BrokerInfo)
{
java.lang.Object[] v;
java.lang.Integer v;
org.apache.activemq.command.BrokerInfo v;
java.util.Map v, v, v;
int v, v;
java.lang.String v, v;
org.apache.activemq.broker.Connection v;
boolean v;
org.apache.activemq.broker.BrokerService v;
org.slf4j.Logger v;
org.apache.activemq.command.BrokerId v, v;
java.lang.Object v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.Connection;
v := @parameter: org.apache.activemq.command.BrokerInfo;
if v == null goto label;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map brokerInfos>;
v = virtualinvoke v.<org.apache.activemq.command.BrokerInfo: org.apache.activemq.command.BrokerId getBrokerId()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.command.BrokerInfo: int decrementRefCount()>();
if v != 0 goto label;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map brokerInfos>;
v = virtualinvoke v.<org.apache.activemq.command.BrokerInfo: org.apache.activemq.command.BrokerId getBrokerId()>();
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
label:
v = <org.apache.activemq.broker.region.RegionBroker: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: java.lang.String getBrokerName()>();
v[0] = v;
v = virtualinvoke v.<org.apache.activemq.command.BrokerInfo: java.lang.String getBrokerName()>();
v[1] = v;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map brokerInfos>;
v = interfaceinvoke v.<java.util.Map: int size()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("{} removeBroker: {} brokerInfo size: {}", v);
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.BrokerService brokerService>;
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: boolean isStopping()>();
if v != 0 goto label;
virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: void removeBrokerInClusterUpdate(org.apache.activemq.command.BrokerInfo)>(v);
label:
return;
}
public synchronized org.apache.activemq.command.BrokerInfo[] getPeerBrokerInfos()
{
java.lang.Object[] v;
org.apache.activemq.command.BrokerInfo[] v;
java.util.Collection v;
java.util.Map v, v;
int v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map brokerInfos>;
v = interfaceinvoke v.<java.util.Map: int size()>();
v = newarray (org.apache.activemq.command.BrokerInfo)[v];
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map brokerInfos>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.lang.Object[] toArray(java.lang.Object[])>(v);
return v;
}
public void preProcessDispatch(org.apache.activemq.command.MessageDispatch)
{
java.lang.Throwable v;
org.apache.activemq.command.Message$MessageDestination v, v, v;
long v, v, v;
org.apache.activemq.command.Message v;
org.apache.activemq.command.MessageDispatch v;
int v;
java.lang.String v, v;
boolean v, v, v, v;
org.apache.activemq.store.MessageStore v;
org.apache.activemq.broker.BrokerService v;
org.slf4j.Logger v;
org.apache.activemq.command.MessageId v;
org.apache.activemq.broker.region.RegionBroker$3 v;
java.io.IOException v;
java.lang.RuntimeException v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.management.TimeStatisticImpl v;
org.apache.activemq.broker.region.DestinationStatistics v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.command.MessageDispatch;
v = virtualinvoke v.<org.apache.activemq.command.MessageDispatch: org.apache.activemq.command.Message getMessage()>();
if v == null goto label;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
virtualinvoke v.<org.apache.activemq.command.Message: void setBrokerOutTime(long)>(v);
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.BrokerService getBrokerService()>();
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: boolean isEnableStatistics()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.Message: long getBrokerInTime()>();
v = v - v;
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.Message$MessageDestination getRegionDestination()>();
v = interfaceinvoke v.<org.apache.activemq.broker.region.Destination: org.apache.activemq.broker.region.DestinationStatistics getDestinationStatistics()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.DestinationStatistics: org.apache.activemq.management.TimeStatisticImpl getProcessTime()>();
virtualinvoke v.<org.apache.activemq.management.TimeStatisticImpl: void addTime(long)>(v);
label:
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.Message$MessageDestination getRegionDestination()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: boolean isPersistJMSRedelivered()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.Message: boolean isRedelivered()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.Message: int getRedeliveryCounter()>();
virtualinvoke v.<org.apache.activemq.command.Message: void incrementRedeliveryCounter()>();
label:
v = virtualinvoke v.<org.apache.activemq.command.Message: boolean isPersistent()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.Message$MessageDestination getRegionDestination()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.store.MessageStore getMessageStore()>();
interfaceinvoke v.<org.apache.activemq.store.MessageStore: void updateMessage(org.apache.activemq.command.Message)>(v);
label:
v = new org.apache.activemq.broker.region.RegionBroker$3;
specialinvoke v.<org.apache.activemq.broker.region.RegionBroker$3: void <init>(org.apache.activemq.broker.region.RegionBroker,org.apache.activemq.command.MessageDispatch,org.apache.activemq.command.Message)>(v, v, v);
virtualinvoke v.<org.apache.activemq.command.MessageDispatch: void setTransmitCallback(org.apache.activemq.transport.TransmitCallback)>(v);
label:
virtualinvoke v.<org.apache.activemq.command.Message: void setRedeliveryCounter(int)>(v);
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.MessageId getMessageId()>();
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.command.MessageId,org.apache.activemq.command.ActiveMQDestination)>(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[])>("Failed to persist JMSRedeliveryFlag on \u in \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
v = <org.apache.activemq.broker.region.RegionBroker: org.slf4j.Logger LOG>;
v = virtualinvoke v.<java.lang.RuntimeException: java.lang.String getLocalizedMessage()>();
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
v := @caughtexception;
virtualinvoke v.<org.apache.activemq.command.Message: void setRedeliveryCounter(int)>(v);
throw v;
label:
return;
catch java.io.IOException from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void postProcessDispatch(org.apache.activemq.command.MessageDispatch)
{
org.apache.activemq.command.MessageDispatch v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.command.MessageDispatch;
return;
}
public void processDispatchNotification(org.apache.activemq.command.MessageDispatchNotification) throws java.lang.Exception
{
org.apache.activemq.command.MessageDispatchNotification v;
org.apache.activemq.broker.region.Region v;
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.command.ActiveMQDestination v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.command.MessageDispatchNotification;
v = virtualinvoke v.<org.apache.activemq.command.MessageDispatchNotification: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region getRegion(org.apache.activemq.command.ActiveMQDestination)>(v);
interfaceinvoke v.<org.apache.activemq.broker.region.Region: void processDispatchNotification(org.apache.activemq.command.MessageDispatchNotification)>(v);
return;
}
public boolean isStopped()
{
org.apache.activemq.broker.region.RegionBroker v;
boolean v, v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: boolean started>;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public java.util.Set getDurableDestinations()
{
java.util.Set v;
org.apache.activemq.broker.region.DestinationFactory v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.DestinationFactory destinationFactory>;
v = virtualinvoke v.<org.apache.activemq.broker.region.DestinationFactory: java.util.Set getDestinations()>();
return v;
}
protected void doStop(org.apache.activemq.util.ServiceStopper)
{
org.apache.activemq.broker.region.Region v, v, v, v;
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.util.ServiceStopper v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.util.ServiceStopper;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region queueRegion>;
virtualinvoke v.<org.apache.activemq.util.ServiceStopper: void stop(org.apache.activemq.Service)>(v);
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region topicRegion>;
virtualinvoke v.<org.apache.activemq.util.ServiceStopper: void stop(org.apache.activemq.Service)>(v);
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region tempQueueRegion>;
virtualinvoke v.<org.apache.activemq.util.ServiceStopper: void stop(org.apache.activemq.Service)>(v);
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region tempTopicRegion>;
virtualinvoke v.<org.apache.activemq.util.ServiceStopper: void stop(org.apache.activemq.Service)>(v);
return;
}
public boolean isKeepDurableSubsActive()
{
org.apache.activemq.broker.region.RegionBroker v;
boolean v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: boolean keepDurableSubsActive>;
return v;
}
public void setKeepDurableSubsActive(boolean)
{
org.apache.activemq.broker.region.Region v;
org.apache.activemq.broker.region.RegionBroker v;
boolean v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.RegionBroker: boolean keepDurableSubsActive> = v;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region topicRegion>;
virtualinvoke v.<org.apache.activemq.broker.region.TopicRegion: void setKeepDurableSubsActive(boolean)>(v);
return;
}
public org.apache.activemq.broker.region.DestinationInterceptor getDestinationInterceptor()
{
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.broker.region.DestinationInterceptor v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.DestinationInterceptor destinationInterceptor>;
return v;
}
public org.apache.activemq.broker.ConnectionContext getAdminConnectionContext()
{
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.ConnectionContext adminConnectionContext>;
return v;
}
public void setAdminConnectionContext(org.apache.activemq.broker.ConnectionContext)
{
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.ConnectionContext adminConnectionContext> = v;
return;
}
public java.util.Map getConnectionStates()
{
org.apache.activemq.broker.region.RegionBroker v;
java.util.Map v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map connectionStates>;
return v;
}
public org.apache.activemq.store.PListStore getTempDataStore()
{
org.apache.activemq.store.PListStore v;
org.apache.activemq.broker.BrokerService v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.BrokerService brokerService>;
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: org.apache.activemq.store.PListStore getTempDataStore()>();
return v;
}
public java.net.URI getVmConnectorURI()
{
org.apache.activemq.broker.BrokerService v;
java.net.URI v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.BrokerService brokerService>;
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: java.net.URI getVmConnectorURI()>();
return v;
}
public void brokerServiceStarted()
{
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
return;
}
public org.apache.activemq.broker.BrokerService getBrokerService()
{
org.apache.activemq.broker.BrokerService v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.BrokerService brokerService>;
return v;
}
public boolean isExpired(org.apache.activemq.broker.region.MessageReference)
{
org.apache.activemq.broker.region.MessageReference v;
org.apache.activemq.broker.region.RegionBroker v;
boolean v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.region.MessageReference;
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: boolean canProcessAsExpired()>();
return v;
}
private boolean stampAsExpired(org.apache.activemq.command.Message) throws java.io.IOException
{
org.apache.activemq.command.Message v;
java.lang.Long v;
java.lang.Object v;
long v;
org.apache.activemq.broker.region.RegionBroker v;
boolean v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.command.Message;
v = 0;
v = virtualinvoke v.<org.apache.activemq.command.Message: java.lang.Object getProperty(java.lang.String)>("originalExpiration");
if v != null goto label;
v = virtualinvoke v.<org.apache.activemq.command.Message: long getExpiration()>();
v = new java.lang.Long;
specialinvoke v.<java.lang.Long: void <init>(long)>(v);
virtualinvoke v.<org.apache.activemq.command.Message: void setProperty(java.lang.String,java.lang.Object)>("originalExpiration", v);
v = 1;
label:
return v;
}
public void messageExpired(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.region.MessageReference, org.apache.activemq.broker.region.Subscription)
{
java.lang.Throwable v;
org.apache.activemq.broker.region.MessageReference v;
org.slf4j.Logger v;
org.apache.activemq.broker.region.Subscription v;
long v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
java.lang.String v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.broker.region.MessageReference;
v := @parameter: org.apache.activemq.broker.region.Subscription;
v = <org.apache.activemq.broker.region.RegionBroker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Message expired {}", v);
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.Broker getRoot()>();
v = new java.lang.Throwable;
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: long getExpiration()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Message Expired. Expiration:\u0001");
specialinvoke v.<java.lang.Throwable: void <init>(java.lang.String)>(v);
interfaceinvoke v.<org.apache.activemq.broker.Broker: boolean sendToDeadLetterQueue(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.region.MessageReference,org.apache.activemq.broker.region.Subscription,java.lang.Throwable)>(v, v, v, v);
return;
}
public boolean sendToDeadLetterQueue(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.region.MessageReference, org.apache.activemq.broker.region.Subscription, java.lang.Throwable)
{
org.apache.activemq.security.SecurityContext v, v;
org.apache.activemq.broker.ConnectionContext v, v;
org.apache.activemq.command.Message v, v;
byte v;
org.apache.activemq.broker.region.policy.DeadLetterStrategy v;
boolean v, v, v, v;
org.apache.activemq.command.MessageId v, v;
java.lang.Exception v;
org.apache.activemq.command.ActiveMQDestination v, v, v, v, v;
org.apache.activemq.broker.region.Destination v;
java.lang.Throwable v;
org.apache.activemq.command.Message$MessageDestination v, v;
org.apache.activemq.broker.region.Subscription v;
long v, v;
java.lang.String v;
org.apache.activemq.broker.region.MessageReference v;
org.slf4j.Logger v, v, v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.broker.region.MessageReference;
v := @parameter: org.apache.activemq.broker.region.Subscription;
v := @parameter: java.lang.Throwable;
label:
if v == null goto label;
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.Message getMessage()>();
if v == null goto label;
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.Message$MessageDestination getRegionDestination()>();
if v == null goto label;
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.Message$MessageDestination getRegionDestination()>();
v = interfaceinvoke v.<org.apache.activemq.broker.region.Destination: org.apache.activemq.broker.region.policy.DeadLetterStrategy getDeadLetterStrategy()>();
if v == null goto label;
v = interfaceinvoke v.<org.apache.activemq.broker.region.policy.DeadLetterStrategy: boolean isSendToDeadLetterQueue(org.apache.activemq.command.Message)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.activemq.broker.region.policy.DeadLetterStrategy: org.apache.activemq.command.ActiveMQDestination getDeadLetterQueueFor(org.apache.activemq.command.Message,org.apache.activemq.broker.region.Subscription)>(v, v);
v = virtualinvoke v.<org.apache.activemq.command.Message: 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;
v = <org.apache.activemq.broker.region.RegionBroker: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.MessageId getMessageId()>();
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.ActiveMQDestination getDestination()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Not re-adding to DLQ: {}, dest: {}", v, v);
label:
return 0;
label:
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.Message copy()>();
v = interfaceinvoke v.<org.apache.activemq.broker.region.policy.DeadLetterStrategy: long getExpiration()>();
v = v cmp 0L;
if v <= 0 goto label;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v + v;
goto label;
label:
specialinvoke v.<org.apache.activemq.broker.region.RegionBroker: boolean stampAsExpired(org.apache.activemq.command.Message)>(v);
label:
virtualinvoke v.<org.apache.activemq.command.Message: void setExpiration(long)>(v);
v = virtualinvoke v.<org.apache.activemq.command.Message: boolean isPersistent()>();
if v != 0 goto label;
virtualinvoke v.<org.apache.activemq.command.Message: void setPersistent(boolean)>(1);
virtualinvoke v.<org.apache.activemq.command.Message: void setProperty(java.lang.String,java.lang.Object)>("originalDeliveryMode", "NON_PERSISTENT");
label:
if v == null goto label;
v = virtualinvoke v.<java.lang.Throwable: java.lang.String toString()>();
virtualinvoke v.<org.apache.activemq.command.Message: void setProperty(java.lang.String,java.lang.Object)>("dlqDeliveryFailureCause", v);
label:
v = v;
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: org.apache.activemq.security.SecurityContext getSecurityContext()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: org.apache.activemq.security.SecurityContext getSecurityContext()>();
v = virtualinvoke v.<org.apache.activemq.security.SecurityContext: boolean isBrokerContext()>();
if v != 0 goto label;
label:
v = staticinvoke <org.apache.activemq.util.BrokerSupport: org.apache.activemq.broker.ConnectionContext getConnectionContext(org.apache.activemq.broker.Broker)>(v);
label:
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Destination addDestination(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,boolean)>(v, v, 0);
v = interfaceinvoke v.<org.apache.activemq.broker.region.Destination: org.apache.activemq.command.ActiveMQDestination getActiveMQDestination()>();
virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: void setDLQ(boolean)>(1);
staticinvoke <org.apache.activemq.util.BrokerSupport: void resendNoCopy(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.Message,org.apache.activemq.command.ActiveMQDestination)>(v, v, v);
label:
return 1;
label:
v = <org.apache.activemq.broker.region.RegionBroker: org.slf4j.Logger LOG>;
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.MessageId getMessageId()>();
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.ActiveMQDestination getDestination()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Dead Letter message with no DLQ strategy in place, message id: {}, destination: {}", v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.region.RegionBroker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Caught an exception sending to DLQ: {}", v, v);
label:
return 0;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
public org.apache.activemq.broker.Broker getRoot()
{
org.apache.activemq.broker.BrokerService v;
org.apache.activemq.broker.Broker v;
org.slf4j.Logger v;
java.lang.RuntimeException v;
org.apache.activemq.broker.region.RegionBroker v;
java.lang.Exception v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
label:
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.BrokerService getBrokerService()>();
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: org.apache.activemq.broker.Broker getBroker()>();
label:
return v;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.region.RegionBroker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Throwable)>("Trying to get Root Broker", v);
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>("The broker from the BrokerService should not throw an exception", v);
throw v;
catch java.lang.Exception from label to label with label;
}
public long getBrokerSequenceId()
{
java.lang.Throwable v;
org.apache.activemq.util.LongSequenceGenerator v, v;
long v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.util.LongSequenceGenerator sequenceGenerator>;
entermonitor v;
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.util.LongSequenceGenerator sequenceGenerator>;
v = virtualinvoke v.<org.apache.activemq.util.LongSequenceGenerator: long getNextSequenceId()>();
exitmonitor v;
label:
return v;
label:
v := @caughtexception;
exitmonitor v;
throw v;
catch java.lang.Throwable from label to label with label;
}
public org.apache.activemq.thread.Scheduler getScheduler()
{
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.thread.Scheduler v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.thread.Scheduler scheduler>;
return v;
}
public java.util.concurrent.ThreadPoolExecutor getExecutor()
{
java.util.concurrent.ThreadPoolExecutor v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.ThreadPoolExecutor executor>;
return v;
}
public void processConsumerControl(org.apache.activemq.broker.ConsumerBrokerExchange, org.apache.activemq.command.ConsumerControl)
{
java.lang.Throwable v;
org.apache.activemq.command.ConsumerControl v;
org.slf4j.Logger v;
org.apache.activemq.broker.region.Region v;
org.apache.activemq.broker.ConsumerBrokerExchange v;
org.apache.activemq.broker.region.RegionBroker v;
org.apache.activemq.command.ActiveMQDestination v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.broker.ConsumerBrokerExchange;
v := @parameter: org.apache.activemq.command.ConsumerControl;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerControl: org.apache.activemq.command.ActiveMQDestination getDestination()>();
label:
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region getRegion(org.apache.activemq.command.ActiveMQDestination)>(v);
interfaceinvoke v.<org.apache.activemq.broker.region.Region: void processConsumerControl(org.apache.activemq.broker.ConsumerBrokerExchange,org.apache.activemq.command.ConsumerControl)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.region.RegionBroker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("unmatched destination: {}, in consumerControl: {}", v, v);
label:
return;
catch javax.jms.JMSException from label to label with label;
}
protected void addBrokerInClusterUpdate(org.apache.activemq.command.BrokerInfo)
{
org.apache.activemq.broker.BrokerService v;
java.util.Iterator v;
java.util.List v;
org.apache.activemq.command.BrokerInfo v;
java.lang.Object v;
org.apache.activemq.broker.region.RegionBroker v;
boolean v, v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.command.BrokerInfo;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.BrokerService brokerService>;
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: java.util.List getTransportConnectors()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnector: boolean isUpdateClusterClients()>();
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.broker.TransportConnector: void addPeerBroker(org.apache.activemq.command.BrokerInfo)>(v);
virtualinvoke v.<org.apache.activemq.broker.TransportConnector: void updateClientClusterInfo()>();
goto label;
label:
return;
}
protected void removeBrokerInClusterUpdate(org.apache.activemq.command.BrokerInfo)
{
org.apache.activemq.broker.BrokerService v;
java.util.Iterator v;
java.util.List v;
org.apache.activemq.command.BrokerInfo v;
java.lang.Object v;
org.apache.activemq.broker.region.RegionBroker v;
boolean v, v, v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: org.apache.activemq.command.BrokerInfo;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.BrokerService brokerService>;
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: java.util.List getTransportConnectors()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnector: boolean isUpdateClusterClients()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnector: boolean isUpdateClusterClientsOnRemove()>();
if v == 0 goto label;
virtualinvoke v.<org.apache.activemq.broker.TransportConnector: void removePeerBroker(org.apache.activemq.command.BrokerInfo)>(v);
virtualinvoke v.<org.apache.activemq.broker.TransportConnector: void updateClientClusterInfo()>();
goto label;
label:
return;
}
protected void purgeInactiveDestinations()
{
java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock v, v, v;
org.apache.activemq.broker.ConnectionContext v;
byte v, v;
java.lang.Long v;
java.util.Map v, v, v;
boolean v, v, v, v, v, v, v;
org.apache.activemq.broker.BrokerService v;
java.util.Collection v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.broker.region.Destination v;
java.lang.Throwable v, v;
long v, v, v;
java.util.concurrent.locks.ReentrantReadWriteLock v, v, v;
java.util.ArrayList v;
org.apache.activemq.broker.Broker v;
int v, v;
org.apache.activemq.broker.region.Region v, v;
java.lang.String v;
org.slf4j.Logger v, v;
java.util.Iterator v, v;
java.lang.Object v, v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.locks.ReentrantReadWriteLock inactiveDestinationsPurgeLock>;
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 = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: java.util.Map getDestinationMap()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: boolean isAllowTempAutoCreationOnSend()>();
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region tempQueueRegion>;
v = interfaceinvoke v.<org.apache.activemq.broker.region.Region: java.util.Map getDestinationMap()>();
interfaceinvoke v.<java.util.Map: void putAll(java.util.Map)>(v);
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region tempTopicRegion>;
v = interfaceinvoke v.<org.apache.activemq.broker.region.Region: java.util.Map getDestinationMap()>();
interfaceinvoke v.<java.util.Map: void putAll(java.util.Map)>(v);
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.BrokerService brokerService>;
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: int getMaxPurgedDestinationsPerSweep()>();
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
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.broker.region.Destination: void markForGC(long)>(v);
v = interfaceinvoke v.<org.apache.activemq.broker.region.Destination: boolean canGC()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v cmp 0L;
if v <= 0 goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v cmp v;
if v != 0 goto label;
label:
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = staticinvoke <org.apache.activemq.util.BrokerSupport: org.apache.activemq.broker.ConnectionContext getConnectionContext(org.apache.activemq.broker.Broker)>(v);
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setBroker(org.apache.activemq.broker.Broker)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = <org.apache.activemq.broker.region.RegionBroker: org.slf4j.Logger LOG>;
v = v instanceof org.apache.activemq.broker.region.BaseDestination;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: org.slf4j.Logger getLog()>();
label:
v = interfaceinvoke v.<org.apache.activemq.broker.region.Destination: java.lang.String getName()>();
v = interfaceinvoke v.<org.apache.activemq.broker.region.Destination: long getInactiveTimeoutBeforeGC()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("{} Inactive for longer than {} ms - removing ...", v, v);
label:
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.Broker getRoot()>();
v = interfaceinvoke v.<org.apache.activemq.broker.region.Destination: org.apache.activemq.command.ActiveMQDestination getActiveMQDestination()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: boolean isAllowTempAutoCreationOnSend()>();
if v == 0 goto label;
v = 1L;
goto label;
label:
v = 0L;
label:
interfaceinvoke v.<org.apache.activemq.broker.Broker: void removeDestination(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,long)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.region.RegionBroker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to remove inactive destination {}", v, v);
goto label;
label:
v = v.<org.apache.activemq.broker.region.RegionBroker: java.util.concurrent.locks.ReentrantReadWriteLock inactiveDestinationsPurgeLock>;
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.broker.region.RegionBroker: java.util.concurrent.locks.ReentrantReadWriteLock inactiveDestinationsPurgeLock>;
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;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public boolean isAllowTempAutoCreationOnSend()
{
org.apache.activemq.broker.region.RegionBroker v;
boolean v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: boolean allowTempAutoCreationOnSend>;
return v;
}
public void setAllowTempAutoCreationOnSend(boolean)
{
org.apache.activemq.broker.region.RegionBroker v;
boolean v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.RegionBroker: boolean allowTempAutoCreationOnSend> = v;
return;
}
public void reapplyInterceptor()
{
org.apache.activemq.broker.region.Region v, v, v, v;
org.apache.activemq.broker.region.RegionBroker v;
v := @this: org.apache.activemq.broker.region.RegionBroker;
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region queueRegion>;
interfaceinvoke v.<org.apache.activemq.broker.region.Region: void reapplyInterceptor()>();
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region topicRegion>;
interfaceinvoke v.<org.apache.activemq.broker.region.Region: void reapplyInterceptor()>();
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region tempQueueRegion>;
interfaceinvoke v.<org.apache.activemq.broker.region.Region: void reapplyInterceptor()>();
v = v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region tempTopicRegion>;
interfaceinvoke v.<org.apache.activemq.broker.region.Region: void reapplyInterceptor()>();
return;
}
static void <clinit>()
{
org.apache.activemq.util.IdGenerator v;
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/activemq/broker/region/RegionBroker;");
<org.apache.activemq.broker.region.RegionBroker: org.slf4j.Logger LOG> = v;
v = new org.apache.activemq.util.IdGenerator;
specialinvoke v.<org.apache.activemq.util.IdGenerator: void <init>()>();
<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.util.IdGenerator BROKER_ID_GENERATOR> = v;
return;
}
}