public class org.apache.activemq.advisory.AdvisoryBroker extends org.apache.activemq.broker.BrokerFilter
{
private static final org.slf4j.Logger LOG;
private static final org.apache.activemq.util.IdGenerator ID_GENERATOR;
protected final java.util.concurrent.ConcurrentMap connections;
private final java.util.concurrent.locks.ReentrantReadWriteLock consumersLock;
protected final java.util.Map consumers;
protected final java.util.Set virtualDestinations;
protected final java.util.concurrent.ConcurrentMap virtualDestinationConsumers;
protected final java.util.concurrent.ConcurrentMap brokerConsumerDests;
protected final java.util.concurrent.ConcurrentMap producers;
protected final java.util.concurrent.ConcurrentMap destinations;
protected final java.util.concurrent.ConcurrentMap networkBridges;
protected final org.apache.activemq.command.ProducerId advisoryProducerId;
private final org.apache.activemq.util.LongSequenceGenerator messageIdGenerator;
private org.apache.activemq.advisory.VirtualDestinationMatcher virtualDestinationMatcher;
private final org.apache.activemq.util.IdGenerator connectionIdGenerator;
private final org.apache.activemq.util.LongSequenceGenerator sessionIdGenerator;
private final org.apache.activemq.util.LongSequenceGenerator consumerIdGenerator;
public void <init>(org.apache.activemq.broker.Broker)
{
java.util.concurrent.locks.ReentrantReadWriteLock v;
org.apache.activemq.advisory.AdvisoryBroker v;
java.util.LinkedHashMap v;
org.apache.activemq.broker.Broker v;
java.lang.String v;
java.util.concurrent.ConcurrentHashMap v, v, v, v, v, v, v;
java.util.Set v;
org.apache.activemq.command.ProducerId v, v;
org.apache.activemq.util.LongSequenceGenerator v, v, v;
org.apache.activemq.util.IdGenerator v, v;
org.apache.activemq.advisory.DestinationFilterVirtualDestinationMatcher v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.Broker;
specialinvoke v.<org.apache.activemq.broker.BrokerFilter: void <init>(org.apache.activemq.broker.Broker)>(v);
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap connections> = v;
v = new java.util.concurrent.locks.ReentrantReadWriteLock;
specialinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: void <init>()>();
v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.locks.ReentrantReadWriteLock consumersLock> = v;
v = new java.util.LinkedHashMap;
specialinvoke v.<java.util.LinkedHashMap: void <init>()>();
v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.Map consumers> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v = staticinvoke <java.util.Collections: java.util.Set newSetFromMap(java.util.Map)>(v);
v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.Set virtualDestinations> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap virtualDestinationConsumers> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap brokerConsumerDests> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap producers> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap destinations> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap networkBridges> = v;
v = new org.apache.activemq.command.ProducerId;
specialinvoke v.<org.apache.activemq.command.ProducerId: void <init>()>();
v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.command.ProducerId advisoryProducerId> = v;
v = new org.apache.activemq.util.LongSequenceGenerator;
specialinvoke v.<org.apache.activemq.util.LongSequenceGenerator: void <init>()>();
v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.util.LongSequenceGenerator messageIdGenerator> = v;
v = new org.apache.activemq.advisory.DestinationFilterVirtualDestinationMatcher;
specialinvoke v.<org.apache.activemq.advisory.DestinationFilterVirtualDestinationMatcher: void <init>()>();
v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.advisory.VirtualDestinationMatcher virtualDestinationMatcher> = v;
v = new org.apache.activemq.util.IdGenerator;
specialinvoke v.<org.apache.activemq.util.IdGenerator: void <init>(java.lang.String)>("advisory");
v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.util.IdGenerator connectionIdGenerator> = v;
v = new org.apache.activemq.util.LongSequenceGenerator;
specialinvoke v.<org.apache.activemq.util.LongSequenceGenerator: void <init>()>();
v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.util.LongSequenceGenerator sessionIdGenerator> = v;
v = new org.apache.activemq.util.LongSequenceGenerator;
specialinvoke v.<org.apache.activemq.util.LongSequenceGenerator: void <init>()>();
v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.util.LongSequenceGenerator consumerIdGenerator> = v;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.command.ProducerId advisoryProducerId>;
v = <org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.util.IdGenerator ID_GENERATOR>;
v = virtualinvoke v.<org.apache.activemq.util.IdGenerator: java.lang.String generateId()>();
virtualinvoke v.<org.apache.activemq.command.ProducerId: void setConnectionId(java.lang.String)>(v);
return;
}
public void addConnection(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ConnectionInfo) throws java.lang.Exception
{
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.ConnectionInfo v, v;
org.apache.activemq.command.ConnectionId v;
org.apache.activemq.advisory.AdvisoryBroker v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ConnectionInfo;
specialinvoke v.<org.apache.activemq.broker.BrokerFilter: void addConnection(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ConnectionInfo)>(v, v);
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getConnectionAdvisoryTopic()>();
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: org.apache.activemq.command.ConnectionInfo copy()>();
virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: void setPassword(java.lang.String)>("");
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command)>(v, v, v);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap connections>;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public org.apache.activemq.broker.region.Subscription addConsumer(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ConsumerInfo) throws java.lang.Exception
{
org.apache.activemq.advisory.AdvisoryBroker v;
org.apache.activemq.command.ConsumerId v, v, v, v, v, v, v;
org.apache.activemq.broker.ConnectionContext v;
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock v, v, v;
java.util.Map v, v;
org.apache.activemq.broker.BrokerService v;
java.util.Set v, v, v;
java.lang.Throwable v, v;
java.util.concurrent.locks.ReentrantReadWriteLock v, v, v, v, v, v;
org.apache.activemq.command.ConsumerInfo v;
java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.Collection v, v, v, v, v;
org.apache.activemq.command.ActiveMQDestination v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.activemq.command.ActiveMQTopic v, v, v, v, v, v, v, v;
org.apache.activemq.broker.region.Subscription v;
java.util.concurrent.ConcurrentMap v, v, v, v, v, v, v;
java.util.Iterator v, v, v, v, v, v, v, v;
java.lang.Object v, v, v, v, v, v, v, v, v;
org.apache.activemq.advisory.VirtualDestinationMatcher v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ConsumerInfo;
v = specialinvoke v.<org.apache.activemq.broker.BrokerFilter: org.apache.activemq.broker.region.Subscription addConsumer(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ConsumerInfo)>(v, v);
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getConsumerAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.locks.ReentrantReadWriteLock consumersLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock writeLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock: void lock()>();
label:
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.Map consumers>;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ConsumerId getConsumerId()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.broker.BrokerService getBrokerService()>();
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: boolean isUseVirtualDestSubs()>();
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.Set virtualDestinations>;
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.advisory.VirtualDestinationMatcher virtualDestinationMatcher>;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = interfaceinvoke v.<org.apache.activemq.advisory.VirtualDestinationMatcher: boolean matches(org.apache.activemq.broker.region.virtual.VirtualDestination,org.apache.activemq.command.ActiveMQDestination)>(v, v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireVirtualDestinationAddAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ConsumerInfo,org.apache.activemq.command.ActiveMQDestination,org.apache.activemq.broker.region.virtual.VirtualDestination)>(v, v, v, v);
goto label;
label:
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.locks.ReentrantReadWriteLock consumersLock>;
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.advisory.AdvisoryBroker: java.util.concurrent.locks.ReentrantReadWriteLock consumersLock>;
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:
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireConsumerAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command)>(v, v, v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isConnectionAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap connections>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getConnectionAdvisoryTopic()>();
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ConsumerId getConsumerId()>();
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId)>(v, v, v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isTempDestinationAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap destinations>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.activemq.command.DestinationInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: boolean isTemporary()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.DestinationInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getDestinationAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ConsumerId getConsumerId()>();
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId)>(v, v, v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isDestinationAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap destinations>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.activemq.command.DestinationInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getDestinationAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ConsumerId getConsumerId()>();
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId)>(v, v, v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isProducerAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap producers>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.activemq.command.ProducerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getProducerAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
v = virtualinvoke v.<org.apache.activemq.command.ProducerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ConsumerId getConsumerId()>();
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireProducerAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId)>(v, v, v, v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isConsumerAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.locks.ReentrantReadWriteLock consumersLock>;
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.advisory.AdvisoryBroker: java.util.Map consumers>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getConsumerAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ConsumerId getConsumerId()>();
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireConsumerAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId)>(v, v, v, v, v);
goto label;
label:
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.locks.ReentrantReadWriteLock consumersLock>;
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.advisory.AdvisoryBroker: java.util.concurrent.locks.ReentrantReadWriteLock consumersLock>;
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:
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isVirtualDestinationConsumerAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap virtualDestinationConsumers>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getVirtualDestinationConsumerAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ConsumerId getConsumerId()>();
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireConsumerAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId)>(v, v, v, v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isNetworkBridgeAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap networkBridges>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getNetworkBridgeAdvisoryTopic()>();
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap networkBridges>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId,org.apache.activemq.command.ActiveMQMessage)>(v, v, v, null, v);
goto label;
label:
return v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public void addProducer(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ProducerInfo) throws java.lang.Exception
{
org.apache.activemq.broker.BrokerService v;
org.apache.activemq.advisory.AdvisoryBroker v;
java.util.concurrent.ConcurrentMap v;
org.apache.activemq.command.ActiveMQDestination v, v, v, v;
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.command.ProducerId v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.ProducerInfo v;
boolean v, v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ProducerInfo;
specialinvoke v.<org.apache.activemq.broker.BrokerFilter: void addProducer(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ProducerInfo)>(v, v);
v = virtualinvoke v.<org.apache.activemq.command.ProducerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
if v != null goto label;
v = virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.broker.BrokerService getBrokerService()>();
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: boolean isAnonymousProducerAdvisorySupport()>();
if v == 0 goto label;
label:
v = virtualinvoke v.<org.apache.activemq.command.ProducerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.ProducerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getProducerAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
v = virtualinvoke v.<org.apache.activemq.command.ProducerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireProducerAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command)>(v, v, v, v);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap producers>;
v = virtualinvoke v.<org.apache.activemq.command.ProducerInfo: org.apache.activemq.command.ProducerId getProducerId()>();
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return;
}
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.advisory.AdvisoryBroker v;
java.util.concurrent.ConcurrentMap v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.DestinationInfo v;
boolean v, v, v, v, v, v;
org.apache.activemq.broker.BrokerService v;
java.util.Iterator v;
org.apache.activemq.command.ConnectionId v;
java.util.Set v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.command.ActiveMQTopic v;
java.lang.Object v, v;
org.apache.activemq.advisory.VirtualDestinationMatcher v;
org.apache.activemq.broker.region.Destination v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ActiveMQDestination;
v := @parameter: boolean;
v = specialinvoke v.<org.apache.activemq.broker.BrokerFilter: org.apache.activemq.broker.region.Destination addDestination(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,boolean)>(v, v, v);
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.broker.BrokerService getBrokerService()>();
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: boolean isUseVirtualDestSubsOnCreation()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: boolean isQueue()>();
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.Set virtualDestinations>;
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.advisory.VirtualDestinationMatcher virtualDestinationMatcher>;
v = interfaceinvoke v.<org.apache.activemq.advisory.VirtualDestinationMatcher: boolean matches(org.apache.activemq.broker.region.virtual.VirtualDestination,org.apache.activemq.command.ActiveMQDestination)>(v, v);
if v == 0 goto label;
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireVirtualDestinationAddAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ConsumerInfo,org.apache.activemq.command.ActiveMQDestination,org.apache.activemq.broker.region.virtual.VirtualDestination)>(v, null, v, v);
goto label;
label:
v = new org.apache.activemq.command.DestinationInfo;
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: org.apache.activemq.command.ConnectionId getConnectionId()>();
specialinvoke v.<org.apache.activemq.command.DestinationInfo: void <init>(org.apache.activemq.command.ConnectionId,byte,org.apache.activemq.command.ActiveMQDestination)>(v, 0, v);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap destinations>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
if v != null goto label;
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getDestinationAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command)>(v, v, v);
label:
return v;
}
public void addDestinationInfo(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.DestinationInfo) throws java.lang.Exception
{
org.apache.activemq.advisory.AdvisoryBroker v;
java.util.concurrent.ConcurrentMap v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
java.lang.Object v;
org.apache.activemq.command.DestinationInfo v;
boolean v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
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 = v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.broker.Broker next>;
interfaceinvoke v.<org.apache.activemq.broker.Broker: void addDestinationInfo(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.DestinationInfo)>(v, v);
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v != 0 goto label;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap destinations>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
if v != null goto label;
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getDestinationAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command)>(v, v, v);
label:
return;
}
public void removeDestination(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ActiveMQDestination, long) throws java.lang.Exception
{
org.apache.activemq.advisory.AdvisoryBroker$VirtualConsumerPair v;
org.apache.activemq.advisory.AdvisoryBroker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.DestinationInfo v;
boolean v, v, v, v;
org.apache.activemq.broker.BrokerService v;
java.util.Set v;
java.lang.Exception v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.command.ActiveMQTopic v, v;
org.apache.activemq.command.ActiveMQTopic[] v;
long v;
java.util.concurrent.ConcurrentMap v, v, v, v, v;
org.apache.activemq.broker.Broker v;
int v, v;
org.slf4j.Logger v;
java.util.Iterator v;
java.lang.Object v, v, v, v, v;
org.apache.activemq.advisory.VirtualDestinationMatcher v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ActiveMQDestination;
v := @parameter: long;
specialinvoke v.<org.apache.activemq.broker.BrokerFilter: void removeDestination(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,long)>(v, v, v);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap destinations>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.broker.BrokerService getBrokerService()>();
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: boolean isUseVirtualDestSubs()>();
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap virtualDestinationConsumers>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap virtualDestinationConsumers>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.advisory.VirtualDestinationMatcher virtualDestinationMatcher>;
v = interfaceinvoke v.<org.apache.activemq.advisory.VirtualDestinationMatcher: boolean matches(org.apache.activemq.broker.region.virtual.VirtualDestination,org.apache.activemq.command.ActiveMQDestination)>(v, v);
if v == 0 goto label;
v = new org.apache.activemq.advisory.AdvisoryBroker$VirtualConsumerPair;
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker$VirtualConsumerPair: void <init>(org.apache.activemq.advisory.AdvisoryBroker,org.apache.activemq.broker.region.virtual.VirtualDestination,org.apache.activemq.command.ActiveMQDestination)>(v, v, v);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap brokerConsumerDests>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap brokerConsumerDests>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = <org.apache.activemq.advisory.AdvisoryBroker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Virtual consumer pair removed: {} for consumer: {} ", v, v);
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireVirtualDestinationRemoveAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ConsumerInfo)>(v, v);
label:
v = virtualinvoke v.<org.apache.activemq.command.DestinationInfo: org.apache.activemq.command.DestinationInfo copy()>();
virtualinvoke v.<org.apache.activemq.command.DestinationInfo: void setDestination(org.apache.activemq.command.ActiveMQDestination)>(v);
virtualinvoke v.<org.apache.activemq.command.DestinationInfo: void setOperationType(byte)>(1);
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getDestinationAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command)>(v, v, v);
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic[] getAllDestinationAdvisoryTopics(org.apache.activemq.command.ActiveMQDestination)>(v);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
label:
v = v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.broker.Broker next>;
interfaceinvoke v.<org.apache.activemq.broker.Broker: void removeDestination(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,long)>(v, v, -1L);
label:
goto label;
label:
v := @caughtexception;
label:
v = v + 1;
goto label;
label:
return;
catch java.lang.Exception from label to label with label;
}
public void removeDestinationInfo(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.DestinationInfo) throws java.lang.Exception
{
org.apache.activemq.command.ActiveMQTopic[] v;
org.apache.activemq.advisory.AdvisoryBroker v;
java.util.concurrent.ConcurrentMap v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
int v, v;
org.apache.activemq.command.DestinationInfo v, v;
java.lang.Exception v;
org.apache.activemq.command.ActiveMQDestination v, v, v, v;
org.apache.activemq.command.ActiveMQTopic v, v;
java.lang.Object v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.DestinationInfo;
specialinvoke v.<org.apache.activemq.broker.BrokerFilter: void removeDestinationInfo(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.DestinationInfo)>(v, v);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap destinations>;
v = virtualinvoke v.<org.apache.activemq.command.DestinationInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.command.DestinationInfo: org.apache.activemq.command.DestinationInfo copy()>();
v = virtualinvoke v.<org.apache.activemq.command.DestinationInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
virtualinvoke v.<org.apache.activemq.command.DestinationInfo: void setDestination(org.apache.activemq.command.ActiveMQDestination)>(v);
virtualinvoke v.<org.apache.activemq.command.DestinationInfo: void setOperationType(byte)>(1);
v = virtualinvoke v.<org.apache.activemq.command.DestinationInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getDestinationAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command)>(v, v, v);
v = virtualinvoke v.<org.apache.activemq.command.DestinationInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic[] getAllDestinationAdvisoryTopics(org.apache.activemq.command.ActiveMQDestination)>(v);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
label:
v = v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.broker.Broker next>;
interfaceinvoke v.<org.apache.activemq.broker.Broker: void removeDestination(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,long)>(v, v, -1L);
label:
goto label;
label:
v := @caughtexception;
label:
v = v + 1;
goto label;
label:
return;
catch java.lang.Exception 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;
org.apache.activemq.command.ConnectionId v;
org.apache.activemq.advisory.AdvisoryBroker v;
org.apache.activemq.command.RemoveInfo v;
java.util.concurrent.ConcurrentMap v;
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.ConnectionInfo v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ConnectionInfo;
v := @parameter: java.lang.Throwable;
specialinvoke v.<org.apache.activemq.broker.BrokerFilter: void removeConnection(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ConnectionInfo,java.lang.Throwable)>(v, v, v);
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getConnectionAdvisoryTopic()>();
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: org.apache.activemq.command.RemoveInfo createRemoveCommand()>();
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command)>(v, v, v);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap connections>;
v = virtualinvoke v.<org.apache.activemq.command.ConnectionInfo: org.apache.activemq.command.ConnectionId getConnectionId()>();
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
return;
}
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;
java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock v, v, v;
org.apache.activemq.advisory.AdvisoryBroker v;
org.apache.activemq.command.ConsumerId v;
org.apache.activemq.command.RemoveInfo v;
java.util.concurrent.ConcurrentMap v;
org.apache.activemq.broker.ConnectionContext v;
java.util.Map v;
org.apache.activemq.command.ConsumerInfo v;
boolean v, v, v, v;
org.apache.activemq.broker.BrokerService v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.command.ActiveMQTopic v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ConsumerInfo;
specialinvoke v.<org.apache.activemq.broker.BrokerFilter: void removeConsumer(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ConsumerInfo)>(v, v);
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v != 0 goto label;
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getConsumerAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.locks.ReentrantReadWriteLock consumersLock>;
v = virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock: java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock writeLock()>();
virtualinvoke v.<java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock: void lock()>();
label:
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.Map consumers>;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ConsumerId getConsumerId()>();
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.broker.BrokerService getBrokerService()>();
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: boolean isUseVirtualDestSubs()>();
if v == 0 goto label;
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireVirtualDestinationRemoveAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ConsumerInfo)>(v, v);
label:
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.locks.ReentrantReadWriteLock consumersLock>;
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.advisory.AdvisoryBroker: java.util.concurrent.locks.ReentrantReadWriteLock consumersLock>;
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:
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: boolean isTemporary()>();
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap destinations>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.RemoveInfo createRemoveCommand()>();
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireConsumerAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command)>(v, v, v, 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.IllegalStateException v;
org.apache.activemq.util.SubscriptionKey v;
org.apache.activemq.broker.region.DurableTopicSubscription v;
org.apache.activemq.advisory.AdvisoryBroker v;
org.apache.activemq.broker.Broker v, v, v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.broker.region.Region v;
java.lang.String v, v;
org.apache.activemq.command.ConsumerInfo v;
boolean v, v;
org.apache.activemq.broker.BrokerService v;
org.apache.activemq.command.RemoveSubscriptionInfo v;
org.slf4j.Logger v, v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.command.ActiveMQTopic v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.RemoveSubscriptionInfo;
v = new org.apache.activemq.util.SubscriptionKey;
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: java.lang.String getClientId()>();
v = virtualinvoke v.<org.apache.activemq.command.RemoveSubscriptionInfo: java.lang.String getSubscriptionName()>();
specialinvoke v.<org.apache.activemq.util.SubscriptionKey: void <init>(java.lang.String,java.lang.String)>(v, v);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.broker.Broker next>;
v = v instanceof org.apache.activemq.broker.region.RegionBroker;
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.broker.Broker next>;
goto label;
label:
v = v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.broker.Broker next>;
v = interfaceinvoke v.<org.apache.activemq.broker.Broker: org.apache.activemq.broker.BrokerService getBrokerService()>();
virtualinvoke v.<org.apache.activemq.broker.BrokerService: org.apache.activemq.broker.Broker getRegionBroker()>();
label:
if v != null goto label;
v = <org.apache.activemq.advisory.AdvisoryBroker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>("Cannot locate a RegionBroker instance to pass along the removeSubscription call");
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("No RegionBroker found.");
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.broker.region.RegionBroker: org.apache.activemq.broker.region.Region getTopicRegion()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.TopicRegion: org.apache.activemq.broker.region.DurableTopicSubscription getDurableSubscription(org.apache.activemq.util.SubscriptionKey)>(v);
specialinvoke v.<org.apache.activemq.broker.BrokerFilter: void removeSubscription(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.RemoveSubscriptionInfo)>(v, v);
if v != null goto label;
v = <org.apache.activemq.advisory.AdvisoryBroker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String)>("We cannot send an advisory message for a durable sub removal when we don\'t know about the durable sub");
return;
label:
v = virtualinvoke v.<org.apache.activemq.broker.region.DurableTopicSubscription: org.apache.activemq.command.ConsumerInfo getConsumerInfo()>();
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v != 0 goto label;
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getConsumerAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireConsumerAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command)>(v, v, v, v);
label:
return;
}
public void removeProducer(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ProducerInfo) throws java.lang.Exception
{
org.apache.activemq.broker.BrokerService v;
org.apache.activemq.advisory.AdvisoryBroker v;
org.apache.activemq.command.RemoveInfo v;
java.util.concurrent.ConcurrentMap v, v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.command.ProducerId v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.ProducerInfo v;
boolean v, v, v, v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ProducerInfo;
specialinvoke v.<org.apache.activemq.broker.BrokerFilter: void removeProducer(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ProducerInfo)>(v, v);
v = virtualinvoke v.<org.apache.activemq.command.ProducerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
if v != null goto label;
v = virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.broker.BrokerService getBrokerService()>();
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: boolean isAnonymousProducerAdvisorySupport()>();
if v == 0 goto label;
label:
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v != 0 goto label;
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getProducerAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap producers>;
v = virtualinvoke v.<org.apache.activemq.command.ProducerInfo: org.apache.activemq.command.ProducerId getProducerId()>();
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: boolean isTemporary()>();
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap destinations>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = virtualinvoke v.<org.apache.activemq.command.ProducerInfo: org.apache.activemq.command.RemoveInfo createRemoveCommand()>();
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireProducerAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command)>(v, v, v, v);
label:
return;
}
public void messageExpired(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.region.MessageReference, org.apache.activemq.broker.region.Subscription)
{
org.apache.activemq.command.Message$MessageDestination v;
org.apache.activemq.broker.region.Subscription v;
org.apache.activemq.command.ActiveMQMessage v;
org.apache.activemq.advisory.AdvisoryBroker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.Message v, v, v;
java.lang.String v;
boolean v, v;
org.apache.activemq.broker.region.MessageReference v;
org.apache.activemq.command.MessageId v;
java.lang.Exception v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.command.ActiveMQTopic v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.broker.region.MessageReference;
v := @parameter: org.apache.activemq.broker.region.Subscription;
specialinvoke v.<org.apache.activemq.broker.BrokerFilter: void messageExpired(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.region.MessageReference,org.apache.activemq.broker.region.Subscription)>(v, v, v);
label:
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: boolean isAdvisory()>();
if v != 0 goto label;
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.Message getMessage()>();
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.command.ActiveMQDestination getActiveMQDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getExpiredMessageTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.Message getMessage()>();
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.Message copy()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: boolean isIncludeBodyForAdvisory()>();
if v != 0 goto label;
virtualinvoke v.<org.apache.activemq.command.Message: void clearBody()>();
label:
v = new org.apache.activemq.command.ActiveMQMessage;
specialinvoke v.<org.apache.activemq.command.ActiveMQMessage: void <init>()>();
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.MessageId getMessageId()>();
v = virtualinvoke v.<org.apache.activemq.command.MessageId: java.lang.String toString()>();
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setStringProperty(java.lang.String,java.lang.String)>("orignalMessageId", v);
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId,org.apache.activemq.command.ActiveMQMessage)>(v, v, v, null, v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void handleFireFailure(java.lang.String,java.lang.Throwable)>("expired", v);
label:
return;
catch java.lang.Exception from label to label with label;
}
public void messageConsumed(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.region.MessageReference)
{
org.apache.activemq.command.Message$MessageDestination v;
org.apache.activemq.command.ActiveMQMessage v;
org.apache.activemq.advisory.AdvisoryBroker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.Message v, v, v;
java.lang.String v, v;
boolean v, v;
org.apache.activemq.broker.region.MessageReference v;
org.apache.activemq.command.MessageId v;
java.lang.Exception v;
org.apache.activemq.command.ActiveMQDestination v, v;
org.apache.activemq.command.ActiveMQTopic v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.broker.region.MessageReference;
specialinvoke v.<org.apache.activemq.broker.BrokerFilter: void messageConsumed(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.region.MessageReference)>(v, v);
label:
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: boolean isAdvisory()>();
if v != 0 goto label;
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.Message getMessage()>();
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.command.ActiveMQDestination getActiveMQDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getMessageConsumedAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.Message getMessage()>();
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.Message copy()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: boolean isIncludeBodyForAdvisory()>();
if v != 0 goto label;
virtualinvoke v.<org.apache.activemq.command.Message: void clearBody()>();
label:
v = new org.apache.activemq.command.ActiveMQMessage;
specialinvoke v.<org.apache.activemq.command.ActiveMQMessage: void <init>()>();
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.MessageId getMessageId()>();
v = virtualinvoke v.<org.apache.activemq.command.MessageId: java.lang.String toString()>();
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setStringProperty(java.lang.String,java.lang.String)>("orignalMessageId", v);
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.command.ActiveMQDestination getActiveMQDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: java.lang.String getQualifiedName()>();
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setStringProperty(java.lang.String,java.lang.String)>("orignalDestination", v);
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId,org.apache.activemq.command.ActiveMQMessage)>(v, v, v, null, v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void handleFireFailure(java.lang.String,java.lang.Throwable)>("consumed", v);
label:
return;
catch java.lang.Exception from label to label with label;
}
public void messageDelivered(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.region.MessageReference)
{
org.apache.activemq.command.Message$MessageDestination v;
org.apache.activemq.command.ActiveMQMessage v;
org.apache.activemq.advisory.AdvisoryBroker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.Message v, v, v;
java.lang.String v, v;
boolean v, v;
org.apache.activemq.broker.region.MessageReference v;
org.apache.activemq.command.MessageId v;
java.lang.Exception v;
org.apache.activemq.command.ActiveMQDestination v, v;
org.apache.activemq.command.ActiveMQTopic v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.broker.region.MessageReference;
specialinvoke v.<org.apache.activemq.broker.BrokerFilter: void messageDelivered(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.region.MessageReference)>(v, v);
label:
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: boolean isAdvisory()>();
if v != 0 goto label;
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.Message getMessage()>();
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.command.ActiveMQDestination getActiveMQDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getMessageDeliveredAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.Message getMessage()>();
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.Message copy()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: boolean isIncludeBodyForAdvisory()>();
if v != 0 goto label;
virtualinvoke v.<org.apache.activemq.command.Message: void clearBody()>();
label:
v = new org.apache.activemq.command.ActiveMQMessage;
specialinvoke v.<org.apache.activemq.command.ActiveMQMessage: void <init>()>();
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.MessageId getMessageId()>();
v = virtualinvoke v.<org.apache.activemq.command.MessageId: java.lang.String toString()>();
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setStringProperty(java.lang.String,java.lang.String)>("orignalMessageId", v);
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.command.ActiveMQDestination getActiveMQDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: java.lang.String getQualifiedName()>();
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setStringProperty(java.lang.String,java.lang.String)>("orignalDestination", v);
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId,org.apache.activemq.command.ActiveMQMessage)>(v, v, v, null, v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void handleFireFailure(java.lang.String,java.lang.Throwable)>("delivered", v);
label:
return;
catch java.lang.Exception from label to label with label;
}
public void messageDiscarded(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.region.Subscription, org.apache.activemq.broker.region.MessageReference)
{
org.apache.activemq.command.Message$MessageDestination v;
org.apache.activemq.broker.region.Subscription v;
org.apache.activemq.command.ActiveMQMessage v;
org.apache.activemq.advisory.AdvisoryBroker v;
org.apache.activemq.command.ConsumerId v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.Message v, v, v;
int v;
java.lang.String v, v, v;
org.apache.activemq.command.ConsumerInfo v;
boolean v, v, v;
org.apache.activemq.broker.region.MessageReference v;
org.apache.activemq.command.MessageId v;
java.lang.Exception v;
org.apache.activemq.command.ActiveMQDestination v, v;
org.apache.activemq.command.ActiveMQTopic v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.broker.region.Subscription;
v := @parameter: org.apache.activemq.broker.region.MessageReference;
specialinvoke v.<org.apache.activemq.broker.BrokerFilter: void messageDiscarded(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.region.Subscription,org.apache.activemq.broker.region.MessageReference)>(v, v, v);
label:
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: boolean isAdvisory()>();
if v != 0 goto label;
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.Message getMessage()>();
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.command.ActiveMQDestination getActiveMQDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getMessageDiscardedAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.Message getMessage()>();
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.Message copy()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: boolean isIncludeBodyForAdvisory()>();
if v != 0 goto label;
virtualinvoke v.<org.apache.activemq.command.Message: void clearBody()>();
label:
v = new org.apache.activemq.command.ActiveMQMessage;
specialinvoke v.<org.apache.activemq.command.ActiveMQMessage: void <init>()>();
v = v instanceof org.apache.activemq.broker.region.TopicSubscription;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.region.TopicSubscription: int discarded()>();
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setIntProperty(java.lang.String,int)>("discardedCount", v);
label:
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.MessageId getMessageId()>();
v = virtualinvoke v.<org.apache.activemq.command.MessageId: java.lang.String toString()>();
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setStringProperty(java.lang.String,java.lang.String)>("orignalMessageId", v);
v = interfaceinvoke v.<org.apache.activemq.broker.region.Subscription: org.apache.activemq.command.ConsumerInfo getConsumerInfo()>();
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ConsumerId getConsumerId()>();
v = virtualinvoke v.<org.apache.activemq.command.ConsumerId: java.lang.String toString()>();
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setStringProperty(java.lang.String,java.lang.String)>("consumerId", v);
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.command.ActiveMQDestination getActiveMQDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: java.lang.String getQualifiedName()>();
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setStringProperty(java.lang.String,java.lang.String)>("orignalDestination", v);
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId,org.apache.activemq.command.ActiveMQMessage)>(v, v, v, null, v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void handleFireFailure(java.lang.String,java.lang.Throwable)>("discarded", v);
label:
return;
catch java.lang.Exception from label to label with label;
}
public void slowConsumer(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.region.Destination, org.apache.activemq.broker.region.Subscription)
{
org.apache.activemq.broker.region.Subscription v;
org.apache.activemq.command.ActiveMQMessage v;
org.apache.activemq.advisory.AdvisoryBroker v;
org.apache.activemq.command.ConsumerId v;
java.lang.Exception v;
org.apache.activemq.command.ActiveMQDestination v, v;
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.broker.ConnectionContext v;
java.lang.String v;
org.apache.activemq.command.ConsumerInfo v, v;
boolean v;
org.apache.activemq.broker.region.Destination v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.broker.region.Destination;
v := @parameter: org.apache.activemq.broker.region.Subscription;
specialinvoke v.<org.apache.activemq.broker.BrokerFilter: void slowConsumer(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.region.Destination,org.apache.activemq.broker.region.Subscription)>(v, v, v);
label:
v = interfaceinvoke v.<org.apache.activemq.broker.region.Destination: org.apache.activemq.command.ActiveMQDestination getActiveMQDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v != 0 goto label;
v = interfaceinvoke v.<org.apache.activemq.broker.region.Destination: org.apache.activemq.command.ActiveMQDestination getActiveMQDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getSlowConsumerAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
v = new org.apache.activemq.command.ActiveMQMessage;
specialinvoke v.<org.apache.activemq.command.ActiveMQMessage: void <init>()>();
v = interfaceinvoke v.<org.apache.activemq.broker.region.Subscription: org.apache.activemq.command.ConsumerInfo getConsumerInfo()>();
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ConsumerId getConsumerId()>();
v = virtualinvoke v.<org.apache.activemq.command.ConsumerId: java.lang.String toString()>();
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setStringProperty(java.lang.String,java.lang.String)>("consumerId", v);
v = interfaceinvoke v.<org.apache.activemq.broker.region.Subscription: org.apache.activemq.command.ConsumerInfo getConsumerInfo()>();
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId,org.apache.activemq.command.ActiveMQMessage)>(v, v, v, null, v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void handleFireFailure(java.lang.String,java.lang.Throwable)>("slow consumer", v);
label:
return;
catch java.lang.Exception from label to label with label;
}
public void fastProducer(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ProducerInfo, org.apache.activemq.command.ActiveMQDestination)
{
org.apache.activemq.command.ActiveMQMessage v;
org.apache.activemq.advisory.AdvisoryBroker v;
java.lang.Exception v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.command.ProducerId v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.ProducerInfo v;
java.lang.String v;
boolean v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ProducerInfo;
v := @parameter: org.apache.activemq.command.ActiveMQDestination;
specialinvoke v.<org.apache.activemq.broker.BrokerFilter: void fastProducer(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ProducerInfo,org.apache.activemq.command.ActiveMQDestination)>(v, v, v);
label:
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v != 0 goto label;
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getFastProducerAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
v = new org.apache.activemq.command.ActiveMQMessage;
specialinvoke v.<org.apache.activemq.command.ActiveMQMessage: void <init>()>();
v = virtualinvoke v.<org.apache.activemq.command.ProducerInfo: org.apache.activemq.command.ProducerId getProducerId()>();
v = virtualinvoke v.<org.apache.activemq.command.ProducerId: java.lang.String toString()>();
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setStringProperty(java.lang.String,java.lang.String)>("producerId", v);
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId,org.apache.activemq.command.ActiveMQMessage)>(v, v, v, null, v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void handleFireFailure(java.lang.String,java.lang.Throwable)>("fast producer", v);
label:
return;
catch java.lang.Exception from label to label with label;
}
public void virtualDestinationAdded(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.region.virtual.VirtualDestination)
{
org.apache.activemq.advisory.AdvisoryBroker v;
org.apache.activemq.broker.ConnectionContext v;
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock v, v, v;
java.util.Map v;
boolean v, v, v, v, v, v, v, v;
org.apache.activemq.broker.BrokerService v;
java.util.Collection v;
java.util.Set v, v;
org.apache.activemq.broker.region.virtual.VirtualDestination v;
java.lang.Exception v;
org.apache.activemq.command.ActiveMQDestination v, v, v;
java.lang.Throwable v;
java.util.concurrent.locks.ReentrantReadWriteLock v, v, v;
java.util.concurrent.ConcurrentMap v;
org.slf4j.Logger v;
java.util.Iterator v, v;
java.lang.Object v, v;
org.apache.activemq.advisory.VirtualDestinationMatcher v, v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.broker.region.virtual.VirtualDestination;
specialinvoke v.<org.apache.activemq.broker.BrokerFilter: void virtualDestinationAdded(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.region.virtual.VirtualDestination)>(v, v);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.Set virtualDestinations>;
v = interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.apache.activemq.advisory.AdvisoryBroker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Virtual destination added: {}", v);
label:
v = interfaceinvoke v.<org.apache.activemq.broker.region.virtual.VirtualDestination: org.apache.activemq.command.ActiveMQDestination getVirtualDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v != 0 goto label;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.locks.ReentrantReadWriteLock consumersLock>;
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.advisory.AdvisoryBroker: org.apache.activemq.broker.BrokerService getBrokerService()>();
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: boolean isUseVirtualDestSubsOnCreation()>();
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap destinations>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: boolean isQueue()>();
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.advisory.VirtualDestinationMatcher virtualDestinationMatcher>;
v = interfaceinvoke v.<org.apache.activemq.advisory.VirtualDestinationMatcher: boolean matches(org.apache.activemq.broker.region.virtual.VirtualDestination,org.apache.activemq.command.ActiveMQDestination)>(v, v);
if v == 0 goto label;
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireVirtualDestinationAddAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ConsumerInfo,org.apache.activemq.command.ActiveMQDestination,org.apache.activemq.broker.region.virtual.VirtualDestination)>(v, null, v, v);
goto label;
label:
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.Map consumers>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.advisory.VirtualDestinationMatcher virtualDestinationMatcher>;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = interfaceinvoke v.<org.apache.activemq.advisory.VirtualDestinationMatcher: boolean matches(org.apache.activemq.broker.region.virtual.VirtualDestination,org.apache.activemq.command.ActiveMQDestination)>(v, v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireVirtualDestinationAddAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ConsumerInfo,org.apache.activemq.command.ActiveMQDestination,org.apache.activemq.broker.region.virtual.VirtualDestination)>(v, v, v, v);
goto label;
label:
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.locks.ReentrantReadWriteLock consumersLock>;
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.advisory.AdvisoryBroker: java.util.concurrent.locks.ReentrantReadWriteLock consumersLock>;
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:
v := @caughtexception;
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void handleFireFailure(java.lang.String,java.lang.Throwable)>("virtualDestinationAdded", v);
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
}
private void fireVirtualDestinationAddAdvisory(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ConsumerInfo, org.apache.activemq.command.ActiveMQDestination, org.apache.activemq.broker.region.virtual.VirtualDestination) throws java.lang.Exception
{
org.apache.activemq.advisory.AdvisoryBroker$VirtualConsumerPair v;
org.apache.activemq.advisory.AdvisoryBroker v;
org.apache.activemq.command.ConsumerId v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.SessionId v;
org.apache.activemq.broker.region.virtual.VirtualDestination v;
org.apache.activemq.command.ActiveMQDestination v, v, v, v, v;
org.apache.activemq.command.ActiveMQTopic v, v;
org.apache.activemq.util.LongSequenceGenerator v, v;
long v, v;
java.util.concurrent.ConcurrentMap v, v, v, v;
java.lang.String v;
org.apache.activemq.command.ConsumerInfo v, v, v;
org.slf4j.Logger v, v, v;
org.apache.activemq.command.ConnectionId v;
java.lang.Object v, v, v, v;
org.apache.activemq.util.IdGenerator v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ConsumerInfo;
v := @parameter: org.apache.activemq.command.ActiveMQDestination;
v := @parameter: org.apache.activemq.broker.region.virtual.VirtualDestination;
if v != null goto label;
v = new org.apache.activemq.advisory.AdvisoryBroker$VirtualConsumerPair;
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker$VirtualConsumerPair: void <init>(org.apache.activemq.advisory.AdvisoryBroker,org.apache.activemq.broker.region.virtual.VirtualDestination,org.apache.activemq.command.ActiveMQDestination)>(v, v, v);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap brokerConsumerDests>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = new org.apache.activemq.command.ConnectionId;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.util.IdGenerator connectionIdGenerator>;
v = virtualinvoke v.<org.apache.activemq.util.IdGenerator: java.lang.String generateId()>();
specialinvoke v.<org.apache.activemq.command.ConnectionId: void <init>(java.lang.String)>(v);
v = new org.apache.activemq.command.SessionId;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.util.LongSequenceGenerator sessionIdGenerator>;
v = virtualinvoke v.<org.apache.activemq.util.LongSequenceGenerator: long getNextSequenceId()>();
specialinvoke v.<org.apache.activemq.command.SessionId: void <init>(org.apache.activemq.command.ConnectionId,long)>(v, v);
v = new org.apache.activemq.command.ConsumerId;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.util.LongSequenceGenerator consumerIdGenerator>;
v = virtualinvoke v.<org.apache.activemq.util.LongSequenceGenerator: long getNextSequenceId()>();
specialinvoke v.<org.apache.activemq.command.ConsumerId: void <init>(org.apache.activemq.command.SessionId,long)>(v, v);
v = new org.apache.activemq.command.ConsumerInfo;
specialinvoke v.<org.apache.activemq.command.ConsumerInfo: void <init>(org.apache.activemq.command.ConsumerId)>(v);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap brokerConsumerDests>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
if v != null goto label;
v = <org.apache.activemq.advisory.AdvisoryBroker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Virtual consumer pair added: {} for consumer: {} ", v, v);
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void setConsumerInfoVirtualDest(org.apache.activemq.command.ConsumerInfo,org.apache.activemq.broker.region.virtual.VirtualDestination,org.apache.activemq.command.ActiveMQDestination)>(v, v, v);
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getVirtualDestinationConsumerAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap virtualDestinationConsumers>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
if v != null goto label;
v = <org.apache.activemq.advisory.AdvisoryBroker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Virtual consumer added: {}, for virtual destination: {}", v, v);
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireConsumerAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command)>(v, v, v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ConsumerInfo copy()>();
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void setConsumerInfoVirtualDest(org.apache.activemq.command.ConsumerInfo,org.apache.activemq.broker.region.virtual.VirtualDestination,org.apache.activemq.command.ActiveMQDestination)>(v, v, v);
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getVirtualDestinationConsumerAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap virtualDestinationConsumers>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
if v != null goto label;
v = <org.apache.activemq.advisory.AdvisoryBroker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Virtual consumer added: {}, for virtual destination: {}", v, v);
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireConsumerAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command)>(v, v, v, v);
label:
return;
}
private void setConsumerInfoVirtualDest(org.apache.activemq.command.ConsumerInfo, org.apache.activemq.broker.region.virtual.VirtualDestination, org.apache.activemq.command.ActiveMQDestination)
{
org.apache.activemq.advisory.AdvisoryBroker v;
boolean v, v, v;
org.apache.activemq.broker.region.virtual.VirtualDestination v;
org.apache.activemq.command.ActiveMQDestination v, v;
org.apache.activemq.command.ActiveMQTopic v, v, v, v, v;
java.lang.Object[] v;
java.lang.String[] v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v;
org.apache.activemq.command.ConsumerInfo v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.command.ConsumerInfo;
v := @parameter: org.apache.activemq.broker.region.virtual.VirtualDestination;
v := @parameter: org.apache.activemq.command.ActiveMQDestination;
v = interfaceinvoke v.<org.apache.activemq.broker.region.virtual.VirtualDestination: org.apache.activemq.command.ActiveMQDestination getVirtualDestination()>();
virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: void setDestination(org.apache.activemq.command.ActiveMQDestination)>(v);
v = v instanceof org.apache.activemq.broker.region.virtual.VirtualTopic;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.region.virtual.VirtualTopic: java.lang.String getPrefix()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.broker.region.virtual.VirtualTopic: java.lang.String getPrefix()>();
goto label;
label:
v = "";
label:
v = v;
v = virtualinvoke v.<org.apache.activemq.broker.region.virtual.VirtualTopic: java.lang.String getPostfix()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.broker.region.virtual.VirtualTopic: java.lang.String getPostfix()>();
goto label;
label:
v = "";
label:
v = v;
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>(".");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>(".");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(1, v);
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 0 goto label;
v = new org.apache.activemq.command.ActiveMQTopic;
specialinvoke v.<org.apache.activemq.command.ActiveMQTopic: void <init>(java.lang.String)>(v);
goto label;
label:
v = null;
label:
v = v;
v = virtualinvoke v.<java.lang.String: int length()>();
if v <= 0 goto label;
v = new org.apache.activemq.command.ActiveMQTopic;
specialinvoke v.<org.apache.activemq.command.ActiveMQTopic: void <init>(java.lang.String)>(v);
goto label;
label:
v = null;
label:
v = v;
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: java.lang.String[] getDestinationPaths()>();
goto label;
label:
v = newarray (java.lang.String)[0];
label:
v = v;
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: java.lang.String[] getDestinationPaths()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: java.lang.String[] getDestinationPaths()>();
goto label;
label:
v = newarray (java.lang.String)[0];
label:
v = lengthof v;
v = lengthof v;
v = lengthof v;
v = v + v;
if v <= v goto label;
v = lengthof v;
v = 0 + v;
v = lengthof v;
v = lengthof v;
v = v - v;
v = staticinvoke <java.util.Arrays: java.lang.Object[] copyOfRange(java.lang.Object[],int,int)>(v, v, v);
v = new org.apache.activemq.command.ActiveMQTopic;
v = staticinvoke <org.apache.activemq.filter.DestinationPath: java.lang.String toString(java.lang.String[])>(v);
specialinvoke v.<org.apache.activemq.command.ActiveMQTopic: void <init>(java.lang.String)>(v);
virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: void setDestination(org.apache.activemq.command.ActiveMQDestination)>(v);
label:
return;
}
public void virtualDestinationRemoved(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.region.virtual.VirtualDestination)
{
org.apache.activemq.advisory.AdvisoryBroker v;
org.apache.activemq.broker.ConnectionContext v;
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock v, v, v;
boolean v, v, v, v, v, v, v;
org.apache.activemq.broker.BrokerService v;
java.util.Set v, v, v;
org.apache.activemq.broker.region.virtual.VirtualDestination v;
java.lang.Exception v;
org.apache.activemq.command.ActiveMQDestination v;
java.lang.Throwable v;
java.util.concurrent.locks.ReentrantReadWriteLock v, v, v;
java.util.concurrent.ConcurrentMap v, v, v, v, v;
org.slf4j.Logger v, v;
java.util.Iterator v, v;
java.lang.Object v, v, v, v, v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.broker.region.virtual.VirtualDestination;
specialinvoke v.<org.apache.activemq.broker.BrokerFilter: void virtualDestinationRemoved(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.region.virtual.VirtualDestination)>(v, v);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.Set virtualDestinations>;
v = interfaceinvoke v.<java.util.Set: boolean remove(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.apache.activemq.advisory.AdvisoryBroker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Virtual destination removed: {}", v);
label:
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.locks.ReentrantReadWriteLock consumersLock>;
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.advisory.AdvisoryBroker: org.apache.activemq.broker.BrokerService getBrokerService()>();
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: boolean isUseVirtualDestSubsOnCreation()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.activemq.broker.region.virtual.VirtualDestination: org.apache.activemq.command.ActiveMQDestination getVirtualDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v != 0 goto label;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap virtualDestinationConsumers>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap virtualDestinationConsumers>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.Object: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireVirtualDestinationRemoveAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ConsumerInfo)>(v, v);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap brokerConsumerDests>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap brokerConsumerDests>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap brokerConsumerDests>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = <org.apache.activemq.advisory.AdvisoryBroker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Virtual consumer pair removed: {} for consumer: {} ", v, v);
goto label;
label:
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.locks.ReentrantReadWriteLock consumersLock>;
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.advisory.AdvisoryBroker: java.util.concurrent.locks.ReentrantReadWriteLock consumersLock>;
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:
v := @caughtexception;
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void handleFireFailure(java.lang.String,java.lang.Throwable)>("virtualDestinationAdded", v);
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
}
private void fireVirtualDestinationRemoveAdvisory(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ConsumerInfo) throws java.lang.Exception
{
org.slf4j.Logger v;
org.apache.activemq.advisory.AdvisoryBroker v;
org.apache.activemq.command.RemoveInfo v;
java.util.concurrent.ConcurrentMap v, v;
org.apache.activemq.command.ActiveMQDestination v, v;
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.broker.ConnectionContext v;
java.lang.Object v;
org.apache.activemq.command.ConsumerInfo v;
boolean v, v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ConsumerInfo;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap virtualDestinationConsumers>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = <org.apache.activemq.advisory.AdvisoryBroker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Virtual consumer removed: {}, for virtual destination: {}", v, v);
v = interfaceinvoke v.<org.apache.activemq.broker.region.virtual.VirtualDestination: org.apache.activemq.command.ActiveMQDestination getVirtualDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getVirtualDestinationConsumerAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.ActiveMQDestination getDestination()>();
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: boolean isTemporary()>();
if v == 0 goto label;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap destinations>;
v = interfaceinvoke v.<java.util.concurrent.ConcurrentMap: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: org.apache.activemq.command.RemoveInfo createRemoveCommand()>();
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireConsumerAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command)>(v, v, v, v);
label:
return;
}
public void isFull(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.region.Destination, org.apache.activemq.usage.Usage)
{
org.apache.activemq.command.ActiveMQMessage v;
long v;
org.apache.activemq.advisory.AdvisoryBroker v;
java.lang.Exception v;
org.apache.activemq.command.ActiveMQDestination v, v;
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.usage.Usage v;
java.lang.String v;
boolean v;
org.apache.activemq.broker.region.Destination v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.broker.region.Destination;
v := @parameter: org.apache.activemq.usage.Usage;
specialinvoke v.<org.apache.activemq.broker.BrokerFilter: void isFull(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.region.Destination,org.apache.activemq.usage.Usage)>(v, v, v);
v = interfaceinvoke v.<org.apache.activemq.broker.region.Destination: org.apache.activemq.command.ActiveMQDestination getActiveMQDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v != 0 goto label;
label:
v = interfaceinvoke v.<org.apache.activemq.broker.region.Destination: org.apache.activemq.command.ActiveMQDestination getActiveMQDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getFullAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
v = new org.apache.activemq.command.ActiveMQMessage;
specialinvoke v.<org.apache.activemq.command.ActiveMQMessage: void <init>()>();
v = virtualinvoke v.<org.apache.activemq.usage.Usage: java.lang.String getName()>();
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setStringProperty(java.lang.String,java.lang.String)>("usageName", v);
v = virtualinvoke v.<org.apache.activemq.usage.Usage: long getUsage()>();
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setLongProperty(java.lang.String,long)>("usageCount", v);
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId,org.apache.activemq.command.ActiveMQMessage)>(v, v, null, null, v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void handleFireFailure(java.lang.String,java.lang.Throwable)>("is full", v);
label:
return;
catch java.lang.Exception from label to label with label;
}
public void nowMasterBroker()
{
org.apache.activemq.broker.BrokerService v;
org.apache.activemq.security.SecurityContext v;
org.apache.activemq.command.ActiveMQMessage v;
org.apache.activemq.advisory.AdvisoryBroker v;
java.lang.Exception v;
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
specialinvoke v.<org.apache.activemq.broker.BrokerFilter: void nowMasterBroker()>();
label:
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getMasterBrokerAdvisoryTopic()>();
v = new org.apache.activemq.command.ActiveMQMessage;
specialinvoke v.<org.apache.activemq.command.ActiveMQMessage: void <init>()>();
v = new org.apache.activemq.broker.ConnectionContext;
specialinvoke v.<org.apache.activemq.broker.ConnectionContext: void <init>()>();
v = <org.apache.activemq.security.SecurityContext: org.apache.activemq.security.SecurityContext BROKER_SECURITY_CONTEXT>;
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setSecurityContext(org.apache.activemq.security.SecurityContext)>(v);
v = virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.broker.BrokerService getBrokerService()>();
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: org.apache.activemq.broker.Broker getBroker()>();
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setBroker(org.apache.activemq.broker.Broker)>(v);
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId,org.apache.activemq.command.ActiveMQMessage)>(v, v, null, null, v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void handleFireFailure(java.lang.String,java.lang.Throwable)>("now master broker", v);
label:
return;
catch java.lang.Exception from label to label with label;
}
public boolean sendToDeadLetterQueue(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.region.MessageReference, org.apache.activemq.broker.region.Subscription, java.lang.Throwable)
{
java.lang.Throwable v;
org.apache.activemq.broker.region.MessageReference v;
org.apache.activemq.command.Message$MessageDestination v;
org.apache.activemq.broker.region.Subscription v;
org.apache.activemq.advisory.AdvisoryBroker v;
java.lang.Exception v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.Message v, v, v;
boolean v, v, v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
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;
v = specialinvoke v.<org.apache.activemq.broker.BrokerFilter: 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);
if v == 0 goto label;
label:
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: boolean isAdvisory()>();
if v != 0 goto label;
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.Message getMessage()>();
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.command.ActiveMQDestination getActiveMQDestination()>();
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getMessageDLQdAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.Message getMessage()>();
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.Message copy()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: boolean isIncludeBodyForAdvisory()>();
if v != 0 goto label;
virtualinvoke v.<org.apache.activemq.command.Message: void clearBody()>();
label:
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void handleFireFailure(java.lang.String,java.lang.Throwable)>("add to DLQ", v);
label:
return v;
catch java.lang.Exception from label to label with label;
}
public void networkBridgeStarted(org.apache.activemq.command.BrokerInfo, boolean, java.lang.String)
{
org.apache.activemq.broker.BrokerService v;
org.apache.activemq.security.SecurityContext v;
org.apache.activemq.command.ActiveMQMessage v;
org.apache.activemq.advisory.AdvisoryBroker v;
java.lang.Exception v;
java.util.concurrent.ConcurrentMap v;
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.BrokerInfo v;
java.lang.String v;
boolean v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.command.BrokerInfo;
v := @parameter: boolean;
v := @parameter: java.lang.String;
label:
if v == null goto label;
v = new org.apache.activemq.command.ActiveMQMessage;
specialinvoke v.<org.apache.activemq.command.ActiveMQMessage: void <init>()>();
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setBooleanProperty(java.lang.String,boolean)>("started", 1);
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setBooleanProperty(java.lang.String,boolean)>("createdByDuplex", v);
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setStringProperty(java.lang.String,java.lang.String)>("remoteIp", v);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap networkBridges>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getNetworkBridgeAdvisoryTopic()>();
v = new org.apache.activemq.broker.ConnectionContext;
specialinvoke v.<org.apache.activemq.broker.ConnectionContext: void <init>()>();
v = <org.apache.activemq.security.SecurityContext: org.apache.activemq.security.SecurityContext BROKER_SECURITY_CONTEXT>;
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setSecurityContext(org.apache.activemq.security.SecurityContext)>(v);
v = virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.broker.BrokerService getBrokerService()>();
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: org.apache.activemq.broker.Broker getBroker()>();
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setBroker(org.apache.activemq.broker.Broker)>(v);
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId,org.apache.activemq.command.ActiveMQMessage)>(v, v, v, null, v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void handleFireFailure(java.lang.String,java.lang.Throwable)>("network bridge started", v);
label:
return;
catch java.lang.Exception from label to label with label;
}
public void networkBridgeStopped(org.apache.activemq.command.BrokerInfo)
{
org.apache.activemq.broker.BrokerService v;
org.apache.activemq.security.SecurityContext v;
org.apache.activemq.command.ActiveMQMessage v;
org.apache.activemq.advisory.AdvisoryBroker v;
java.lang.Exception v;
java.util.concurrent.ConcurrentMap v;
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.BrokerInfo v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.command.BrokerInfo;
label:
if v == null goto label;
v = new org.apache.activemq.command.ActiveMQMessage;
specialinvoke v.<org.apache.activemq.command.ActiveMQMessage: void <init>()>();
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setBooleanProperty(java.lang.String,boolean)>("started", 0);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap networkBridges>;
interfaceinvoke v.<java.util.concurrent.ConcurrentMap: java.lang.Object remove(java.lang.Object)>(v);
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getNetworkBridgeAdvisoryTopic()>();
v = new org.apache.activemq.broker.ConnectionContext;
specialinvoke v.<org.apache.activemq.broker.ConnectionContext: void <init>()>();
v = <org.apache.activemq.security.SecurityContext: org.apache.activemq.security.SecurityContext BROKER_SECURITY_CONTEXT>;
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setSecurityContext(org.apache.activemq.security.SecurityContext)>(v);
v = virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.broker.BrokerService getBrokerService()>();
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: org.apache.activemq.broker.Broker getBroker()>();
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setBroker(org.apache.activemq.broker.Broker)>(v);
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId,org.apache.activemq.command.ActiveMQMessage)>(v, v, v, null, v);
label:
goto label;
label:
v := @caughtexception;
specialinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void handleFireFailure(java.lang.String,java.lang.Throwable)>("network bridge stopped", v);
label:
return;
catch java.lang.Exception from label to label with label;
}
private void handleFireFailure(java.lang.String, java.lang.Throwable)
{
java.lang.Throwable v;
java.lang.Object[] v;
org.slf4j.Logger v, v;
java.lang.String v;
org.apache.activemq.advisory.AdvisoryBroker v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Throwable;
v = <org.apache.activemq.advisory.AdvisoryBroker: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object,java.lang.Object)>("Failed to fire {} advisory, reason: {}", v, v);
v = <org.apache.activemq.advisory.AdvisoryBroker: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v[0] = v;
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("{} detail: {}", v);
return;
}
protected void fireAdvisory(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ActiveMQTopic, org.apache.activemq.command.Command) throws java.lang.Exception
{
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.Command v;
org.apache.activemq.advisory.AdvisoryBroker v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ActiveMQTopic;
v := @parameter: org.apache.activemq.command.Command;
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId)>(v, v, v, null);
return;
}
protected void fireAdvisory(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ActiveMQTopic, org.apache.activemq.command.Command, org.apache.activemq.command.ConsumerId) throws java.lang.Exception
{
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.Command v;
org.apache.activemq.command.ActiveMQMessage v;
org.apache.activemq.advisory.AdvisoryBroker v;
org.apache.activemq.command.ConsumerId v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ActiveMQTopic;
v := @parameter: org.apache.activemq.command.Command;
v := @parameter: org.apache.activemq.command.ConsumerId;
v = new org.apache.activemq.command.ActiveMQMessage;
specialinvoke v.<org.apache.activemq.command.ActiveMQMessage: void <init>()>();
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId,org.apache.activemq.command.ActiveMQMessage)>(v, v, v, v, v);
return;
}
protected void fireConsumerAdvisory(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ActiveMQDestination, org.apache.activemq.command.ActiveMQTopic, org.apache.activemq.command.Command) throws java.lang.Exception
{
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.Command v;
org.apache.activemq.advisory.AdvisoryBroker v;
org.apache.activemq.command.ActiveMQDestination v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ActiveMQDestination;
v := @parameter: org.apache.activemq.command.ActiveMQTopic;
v := @parameter: org.apache.activemq.command.Command;
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireConsumerAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId)>(v, v, v, v, null);
return;
}
protected void fireConsumerAdvisory(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ActiveMQDestination, org.apache.activemq.command.ActiveMQTopic, org.apache.activemq.command.Command, org.apache.activemq.command.ConsumerId) throws java.lang.Exception
{
java.util.Iterator v;
org.apache.activemq.command.Command v;
java.util.Set v;
org.apache.activemq.command.ActiveMQMessage v;
long v, v;
org.apache.activemq.advisory.AdvisoryBroker v;
org.apache.activemq.command.ConsumerId v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.management.CountStatisticImpl v;
java.lang.Object v;
org.apache.activemq.broker.region.DestinationStatistics v;
boolean v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ActiveMQDestination;
v := @parameter: org.apache.activemq.command.ActiveMQTopic;
v := @parameter: org.apache.activemq.command.Command;
v := @parameter: org.apache.activemq.command.ConsumerId;
v = new org.apache.activemq.command.ActiveMQMessage;
specialinvoke v.<org.apache.activemq.command.ActiveMQMessage: void <init>()>();
v = virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.Set getDestinations(org.apache.activemq.command.ActiveMQDestination)>(v);
if v == null goto label;
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = 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.CountStatisticImpl getConsumers()>();
v = virtualinvoke v.<org.apache.activemq.management.CountStatisticImpl: long getCount()>();
v = 0 + v;
goto label;
label:
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setIntProperty(java.lang.String,int)>("consumerCount", v);
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId,org.apache.activemq.command.ActiveMQMessage)>(v, v, v, v, v);
return;
}
protected void fireProducerAdvisory(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ActiveMQDestination, org.apache.activemq.command.ActiveMQTopic, org.apache.activemq.command.Command) throws java.lang.Exception
{
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.Command v;
org.apache.activemq.advisory.AdvisoryBroker v;
org.apache.activemq.command.ActiveMQDestination v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ActiveMQDestination;
v := @parameter: org.apache.activemq.command.ActiveMQTopic;
v := @parameter: org.apache.activemq.command.Command;
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireProducerAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQDestination,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId)>(v, v, v, v, null);
return;
}
protected void fireProducerAdvisory(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ActiveMQDestination, org.apache.activemq.command.ActiveMQTopic, org.apache.activemq.command.Command, org.apache.activemq.command.ConsumerId) throws java.lang.Exception
{
java.util.Iterator v;
org.apache.activemq.command.Command v;
java.util.Set v;
org.apache.activemq.command.ActiveMQMessage v;
long v, v;
org.apache.activemq.advisory.AdvisoryBroker v;
org.apache.activemq.command.ConsumerId v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.management.CountStatisticImpl v;
java.lang.Object v;
org.apache.activemq.broker.region.DestinationStatistics v;
boolean v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ActiveMQDestination;
v := @parameter: org.apache.activemq.command.ActiveMQTopic;
v := @parameter: org.apache.activemq.command.Command;
v := @parameter: org.apache.activemq.command.ConsumerId;
v = new org.apache.activemq.command.ActiveMQMessage;
specialinvoke v.<org.apache.activemq.command.ActiveMQMessage: void <init>()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.Set getDestinations(org.apache.activemq.command.ActiveMQDestination)>(v);
if v == null goto label;
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = 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.CountStatisticImpl getProducers()>();
v = virtualinvoke v.<org.apache.activemq.management.CountStatisticImpl: long getCount()>();
v = 0 + v;
goto label;
label:
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setIntProperty(java.lang.String,int)>("producerCount", v);
virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: void fireAdvisory(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ActiveMQTopic,org.apache.activemq.command.Command,org.apache.activemq.command.ConsumerId,org.apache.activemq.command.ActiveMQMessage)>(v, v, v, v, v);
return;
}
public void fireAdvisory(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ActiveMQTopic, org.apache.activemq.command.Command, org.apache.activemq.command.ConsumerId, org.apache.activemq.command.ActiveMQMessage) throws java.lang.Exception
{
org.apache.activemq.command.ActiveMQMessage v;
org.apache.activemq.advisory.AdvisoryBroker v;
org.apache.activemq.command.ConsumerId v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.state.ProducerState v;
java.net.URI v;
boolean v, v;
org.apache.activemq.broker.BrokerService v, v, v;
org.apache.activemq.command.MessageId v;
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.broker.Connector v, v, v;
org.apache.activemq.util.LongSequenceGenerator v;
org.apache.activemq.broker.ProducerBrokerExchange v;
java.lang.Throwable v;
long v;
org.apache.activemq.broker.Broker v;
java.lang.String v, v, v, v, v;
org.apache.activemq.command.Command v;
org.apache.activemq.command.ProducerId v, v;
org.apache.activemq.command.ProducerInfo v;
org.apache.activemq.command.BrokerId v, v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ActiveMQTopic;
v := @parameter: org.apache.activemq.command.Command;
v := @parameter: org.apache.activemq.command.ConsumerId;
v := @parameter: org.apache.activemq.command.ActiveMQMessage;
v = virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: java.lang.String getBrokerName()>();
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setStringProperty(java.lang.String,java.lang.String)>("originBrokerName", v);
v = virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.command.BrokerId getBrokerId()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.command.BrokerId getBrokerId()>();
v = virtualinvoke v.<org.apache.activemq.command.BrokerId: java.lang.String getValue()>();
goto label;
label:
v = "NOT_SET";
label:
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setStringProperty(java.lang.String,java.lang.String)>("originBrokerId", v);
v = virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.broker.BrokerService getBrokerService()>();
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: java.net.URI getVmConnectorURI()>();
v = virtualinvoke v.<java.net.URI: java.lang.String toString()>();
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: org.apache.activemq.broker.Connector getConnector()>();
v = v instanceof org.apache.activemq.broker.TransportConnector;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: org.apache.activemq.broker.Connector getConnector()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnector: java.lang.String getPublishableConnectString()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: org.apache.activemq.broker.Connector getConnector()>();
v = virtualinvoke v.<org.apache.activemq.broker.TransportConnector: java.lang.String getPublishableConnectString()>();
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.broker.BrokerService getBrokerService()>();
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: java.lang.String getDefaultSocketURIString()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.broker.BrokerService getBrokerService()>();
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: java.lang.String getDefaultSocketURIString()>();
label:
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setStringProperty(java.lang.String,java.lang.String)>("originBrokerURL", v);
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setDataStructure(org.apache.activemq.command.DataStructure)>(v);
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setPersistent(boolean)>(0);
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setType(java.lang.String)>("Advisory");
v = new org.apache.activemq.command.MessageId;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.command.ProducerId advisoryProducerId>;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.util.LongSequenceGenerator messageIdGenerator>;
v = virtualinvoke v.<org.apache.activemq.util.LongSequenceGenerator: long getNextSequenceId()>();
specialinvoke v.<org.apache.activemq.command.MessageId: void <init>(org.apache.activemq.command.ProducerId,long)>(v, v);
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setMessageId(org.apache.activemq.command.MessageId)>(v);
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setTargetConsumerId(org.apache.activemq.command.ConsumerId)>(v);
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setDestination(org.apache.activemq.command.ActiveMQDestination)>(v);
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setResponseRequired(boolean)>(0);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.command.ProducerId advisoryProducerId>;
virtualinvoke v.<org.apache.activemq.command.ActiveMQMessage: void setProducerId(org.apache.activemq.command.ProducerId)>(v);
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: boolean isProducerFlowControl()>();
v = new org.apache.activemq.broker.ProducerBrokerExchange;
specialinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: void <init>()>();
virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: void setConnectionContext(org.apache.activemq.broker.ConnectionContext)>(v);
virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: void setMutable(boolean)>(1);
v = new org.apache.activemq.state.ProducerState;
v = new org.apache.activemq.command.ProducerInfo;
specialinvoke v.<org.apache.activemq.command.ProducerInfo: void <init>()>();
specialinvoke v.<org.apache.activemq.state.ProducerState: void <init>(org.apache.activemq.command.ProducerInfo)>(v);
virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: void setProducerState(org.apache.activemq.state.ProducerState)>(v);
label:
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setProducerFlowControl(boolean)>(0);
v = v.<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.broker.Broker next>;
interfaceinvoke v.<org.apache.activemq.broker.Broker: void send(org.apache.activemq.broker.ProducerBrokerExchange,org.apache.activemq.command.Message)>(v, v);
label:
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setProducerFlowControl(boolean)>(v);
goto label;
label:
v := @caughtexception;
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setProducerFlowControl(boolean)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public java.util.Map getAdvisoryConnections()
{
org.apache.activemq.advisory.AdvisoryBroker v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap connections>;
return v;
}
public java.util.Collection getAdvisoryConsumers()
{
java.lang.Throwable v;
java.util.Collection v;
java.util.concurrent.locks.ReentrantReadWriteLock v, v, v;
org.apache.activemq.advisory.AdvisoryBroker v;
java.util.ArrayList v;
java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock v, v, v;
java.util.Map v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.locks.ReentrantReadWriteLock consumersLock>;
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 = new java.util.ArrayList;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.Map consumers>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
label:
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.locks.ReentrantReadWriteLock consumersLock>;
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.advisory.AdvisoryBroker: java.util.concurrent.locks.ReentrantReadWriteLock consumersLock>;
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 java.util.Map getAdvisoryProducers()
{
org.apache.activemq.advisory.AdvisoryBroker v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap producers>;
return v;
}
public java.util.Map getAdvisoryDestinations()
{
org.apache.activemq.advisory.AdvisoryBroker v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap destinations>;
return v;
}
public java.util.concurrent.ConcurrentMap getVirtualDestinationConsumers()
{
org.apache.activemq.advisory.AdvisoryBroker v;
java.util.concurrent.ConcurrentMap v;
v := @this: org.apache.activemq.advisory.AdvisoryBroker;
v = v.<org.apache.activemq.advisory.AdvisoryBroker: java.util.concurrent.ConcurrentMap virtualDestinationConsumers>;
return v;
}
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/advisory/AdvisoryBroker;");
<org.apache.activemq.advisory.AdvisoryBroker: org.slf4j.Logger LOG> = v;
v = new org.apache.activemq.util.IdGenerator;
specialinvoke v.<org.apache.activemq.util.IdGenerator: void <init>()>();
<org.apache.activemq.advisory.AdvisoryBroker: org.apache.activemq.util.IdGenerator ID_GENERATOR> = v;
return;
}
}