public abstract class org.apache.activemq.broker.region.BaseDestination extends java.lang.Object implements org.apache.activemq.broker.region.Destination
{
public static final int MAX_PAGE_SIZE;
public static final int MAX_BROWSE_PAGE_SIZE;
public static final long EXPIRE_MESSAGE_PERIOD;
public static final long DEFAULT_INACTIVE_TIMEOUT_BEFORE_GC;
public static final int MAX_PRODUCERS_TO_AUDIT;
public static final int MAX_AUDIT_DEPTH;
public static final java.lang.String DUPLICATE_FROM_STORE_MSG_PREFIX;
protected final java.util.concurrent.atomic.AtomicBoolean started;
protected final org.apache.activemq.command.ActiveMQDestination destination;
protected final org.apache.activemq.broker.Broker broker;
protected final org.apache.activemq.store.MessageStore store;
protected org.apache.activemq.usage.SystemUsage systemUsage;
protected org.apache.activemq.usage.MemoryUsage memoryUsage;
private boolean producerFlowControl;
private boolean alwaysRetroactive;
protected long lastBlockedProducerWarnTime;
protected long blockedProducerWarningInterval;
private int maxProducersToAudit;
private int maxAuditDepth;
private boolean enableAudit;
private int maxPageSize;
private int maxBrowsePageSize;
private boolean useCache;
private int minimumMessageSize;
private boolean lazyDispatch;
private boolean advisoryForSlowConsumers;
private boolean advisoryForFastProducers;
private boolean advisoryForDiscardingMessages;
private boolean advisoryWhenFull;
private boolean advisoryForDelivery;
private boolean advisoryForConsumed;
private boolean sendAdvisoryIfNoConsumers;
private boolean sendDuplicateFromStoreToDLQ;
private boolean includeBodyForAdvisory;
protected final org.apache.activemq.broker.region.DestinationStatistics destinationStatistics;
protected final org.apache.activemq.broker.BrokerService brokerService;
protected final org.apache.activemq.broker.Broker regionBroker;
protected org.apache.activemq.broker.region.policy.DeadLetterStrategy deadLetterStrategy;
protected long expireMessagesPeriod;
private int maxExpirePageSize;
protected int cursorMemoryHighWaterMark;
protected int storeUsageHighWaterMark;
private org.apache.activemq.broker.region.policy.SlowConsumerStrategy slowConsumerStrategy;
private boolean prioritizedMessages;
private long inactiveTimeoutBeforeGC;
private boolean gcIfInactive;
private boolean gcWithNetworkConsumers;
private long lastActiveTime;
private boolean reduceMemoryFootprint;
protected final org.apache.activemq.thread.Scheduler scheduler;
private boolean disposed;
private boolean doOptimzeMessageStorage;
private int optimizeMessageStoreInFlightLimit;
private boolean persistJMSRedelivered;
public void <init>(org.apache.activemq.broker.BrokerService, org.apache.activemq.store.MessageStore, org.apache.activemq.command.ActiveMQDestination, org.apache.activemq.broker.region.DestinationStatistics) throws java.lang.Exception
{
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.activemq.broker.Broker v, v, v;
org.apache.activemq.broker.region.policy.DeadLetterStrategy v;
org.apache.activemq.usage.MemoryUsage v, v;
org.apache.activemq.usage.SystemUsage v, v, v;
java.lang.String v;
boolean v;
org.apache.activemq.store.MessageStore v;
org.apache.activemq.broker.BrokerService v;
org.apache.activemq.command.ActiveMQDestination v;
org.apache.activemq.thread.Scheduler v;
org.apache.activemq.broker.region.BaseDestination v;
org.apache.activemq.broker.region.DestinationStatistics v, v, v, v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: org.apache.activemq.broker.BrokerService;
v := @parameter: org.apache.activemq.store.MessageStore;
v := @parameter: org.apache.activemq.command.ActiveMQDestination;
v := @parameter: org.apache.activemq.broker.region.DestinationStatistics;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>()>();
v.<org.apache.activemq.broker.region.BaseDestination: java.util.concurrent.atomic.AtomicBoolean started> = v;
v.<org.apache.activemq.broker.region.BaseDestination: boolean producerFlowControl> = 1;
v.<org.apache.activemq.broker.region.BaseDestination: boolean alwaysRetroactive> = 0;
v.<org.apache.activemq.broker.region.BaseDestination: long lastBlockedProducerWarnTime> = 0L;
v.<org.apache.activemq.broker.region.BaseDestination: long blockedProducerWarningInterval> = 30000L;
v.<org.apache.activemq.broker.region.BaseDestination: int maxProducersToAudit> = 1024;
v.<org.apache.activemq.broker.region.BaseDestination: int maxAuditDepth> = 2048;
v.<org.apache.activemq.broker.region.BaseDestination: boolean enableAudit> = 1;
v.<org.apache.activemq.broker.region.BaseDestination: int maxPageSize> = 200;
v.<org.apache.activemq.broker.region.BaseDestination: int maxBrowsePageSize> = 400;
v.<org.apache.activemq.broker.region.BaseDestination: boolean useCache> = 1;
v.<org.apache.activemq.broker.region.BaseDestination: int minimumMessageSize> = 1024;
v.<org.apache.activemq.broker.region.BaseDestination: boolean lazyDispatch> = 0;
v.<org.apache.activemq.broker.region.BaseDestination: boolean sendDuplicateFromStoreToDLQ> = 1;
v = new org.apache.activemq.broker.region.DestinationStatistics;
specialinvoke v.<org.apache.activemq.broker.region.DestinationStatistics: void <init>()>();
v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics> = v;
v = <org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.policy.DeadLetterStrategy DEFAULT_DEAD_LETTER_STRATEGY>;
v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.policy.DeadLetterStrategy deadLetterStrategy> = v;
v.<org.apache.activemq.broker.region.BaseDestination: long expireMessagesPeriod> = 30000L;
v.<org.apache.activemq.broker.region.BaseDestination: int maxExpirePageSize> = 400;
v.<org.apache.activemq.broker.region.BaseDestination: int cursorMemoryHighWaterMark> = 70;
v.<org.apache.activemq.broker.region.BaseDestination: int storeUsageHighWaterMark> = 100;
v.<org.apache.activemq.broker.region.BaseDestination: long inactiveTimeoutBeforeGC> = 60000L;
v.<org.apache.activemq.broker.region.BaseDestination: long lastActiveTime> = 0L;
v.<org.apache.activemq.broker.region.BaseDestination: boolean reduceMemoryFootprint> = 0;
v.<org.apache.activemq.broker.region.BaseDestination: boolean disposed> = 0;
v.<org.apache.activemq.broker.region.BaseDestination: boolean doOptimzeMessageStorage> = 1;
v.<org.apache.activemq.broker.region.BaseDestination: int optimizeMessageStoreInFlightLimit> = 10;
v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.BrokerService brokerService> = v;
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: org.apache.activemq.broker.Broker getBroker()>();
v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.Broker broker> = v;
v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.store.MessageStore store> = v;
v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.command.ActiveMQDestination destination> = v;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics>;
v = virtualinvoke v.<org.apache.activemq.broker.region.DestinationStatistics: boolean isEnabled()>();
virtualinvoke v.<org.apache.activemq.broker.region.DestinationStatistics: void setEnabled(boolean)>(v);
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics>;
virtualinvoke v.<org.apache.activemq.broker.region.DestinationStatistics: void setParent(org.apache.activemq.broker.region.DestinationStatistics)>(v);
v = new org.apache.activemq.usage.SystemUsage;
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: org.apache.activemq.usage.SystemUsage getProducerSystemUsage()>();
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: java.lang.String toString()>();
specialinvoke v.<org.apache.activemq.usage.SystemUsage: void <init>(org.apache.activemq.usage.SystemUsage,java.lang.String)>(v, v);
v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.usage.SystemUsage systemUsage> = v;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.usage.SystemUsage systemUsage>;
v = virtualinvoke v.<org.apache.activemq.usage.SystemUsage: org.apache.activemq.usage.MemoryUsage getMemoryUsage()>();
v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.usage.MemoryUsage memoryUsage> = v;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.usage.MemoryUsage memoryUsage>;
virtualinvoke v.<org.apache.activemq.usage.MemoryUsage: void setUsagePortion(float)>(1.0F);
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: org.apache.activemq.broker.Broker getRegionBroker()>();
v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.Broker regionBroker> = v;
v = virtualinvoke v.<org.apache.activemq.broker.BrokerService: org.apache.activemq.broker.Broker getBroker()>();
v = interfaceinvoke v.<org.apache.activemq.broker.Broker: org.apache.activemq.thread.Scheduler getScheduler()>();
v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.thread.Scheduler scheduler> = v;
return;
}
public void initialize() throws java.lang.Exception
{
org.apache.activemq.store.MessageStore v, v;
org.apache.activemq.usage.MemoryUsage v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.store.MessageStore store>;
if v == null goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.store.MessageStore store>;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.usage.MemoryUsage memoryUsage>;
interfaceinvoke v.<org.apache.activemq.store.MessageStore: void setMemoryUsage(org.apache.activemq.usage.MemoryUsage)>(v);
label:
return;
}
public boolean isProducerFlowControl()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean producerFlowControl>;
return v;
}
public void setProducerFlowControl(boolean)
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.BaseDestination: boolean producerFlowControl> = v;
return;
}
public boolean isAlwaysRetroactive()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean alwaysRetroactive>;
return v;
}
public void setAlwaysRetroactive(boolean)
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.BaseDestination: boolean alwaysRetroactive> = v;
return;
}
public void setBlockedProducerWarningInterval(long)
{
long v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: long;
v.<org.apache.activemq.broker.region.BaseDestination: long blockedProducerWarningInterval> = v;
return;
}
public long getBlockedProducerWarningInterval()
{
long v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: long blockedProducerWarningInterval>;
return v;
}
public int getMaxProducersToAudit()
{
int v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: int maxProducersToAudit>;
return v;
}
public void setMaxProducersToAudit(int)
{
int v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: int;
v.<org.apache.activemq.broker.region.BaseDestination: int maxProducersToAudit> = v;
return;
}
public int getMaxAuditDepth()
{
int v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: int maxAuditDepth>;
return v;
}
public void setMaxAuditDepth(int)
{
int v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: int;
v.<org.apache.activemq.broker.region.BaseDestination: int maxAuditDepth> = v;
return;
}
public boolean isEnableAudit()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean enableAudit>;
return v;
}
public void setEnableAudit(boolean)
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.BaseDestination: boolean enableAudit> = v;
return;
}
public void addProducer(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ProducerInfo) throws java.lang.Exception
{
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.management.CountStatisticImpl v;
org.apache.activemq.command.ProducerInfo v;
org.apache.activemq.broker.region.BaseDestination v;
org.apache.activemq.broker.region.DestinationStatistics v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ProducerInfo;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics>;
v = virtualinvoke v.<org.apache.activemq.broker.region.DestinationStatistics: org.apache.activemq.management.CountStatisticImpl getProducers()>();
virtualinvoke v.<org.apache.activemq.management.CountStatisticImpl: void increment()>();
v.<org.apache.activemq.broker.region.BaseDestination: long lastActiveTime> = 0L;
return;
}
public void removeProducer(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ProducerInfo) throws java.lang.Exception
{
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.management.CountStatisticImpl v;
org.apache.activemq.command.ProducerInfo v;
org.apache.activemq.broker.region.BaseDestination v;
org.apache.activemq.broker.region.DestinationStatistics v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ProducerInfo;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics>;
v = virtualinvoke v.<org.apache.activemq.broker.region.DestinationStatistics: org.apache.activemq.management.CountStatisticImpl getProducers()>();
virtualinvoke v.<org.apache.activemq.management.CountStatisticImpl: void decrement()>();
return;
}
public void addSubscription(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.region.Subscription) throws java.lang.Exception
{
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.management.CountStatisticImpl v;
org.apache.activemq.broker.region.Subscription v;
org.apache.activemq.broker.region.BaseDestination v;
org.apache.activemq.broker.region.DestinationStatistics v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.broker.region.Subscription;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics>;
v = virtualinvoke v.<org.apache.activemq.broker.region.DestinationStatistics: org.apache.activemq.management.CountStatisticImpl getConsumers()>();
virtualinvoke v.<org.apache.activemq.management.CountStatisticImpl: void increment()>();
v.<org.apache.activemq.broker.region.BaseDestination: long lastActiveTime> = 0L;
return;
}
public void removeSubscription(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.region.Subscription, long) throws java.lang.Exception
{
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.management.CountStatisticImpl v;
org.apache.activemq.broker.region.Subscription v;
long v;
org.apache.activemq.broker.region.BaseDestination v;
org.apache.activemq.broker.region.DestinationStatistics v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.broker.region.Subscription;
v := @parameter: long;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics>;
v = virtualinvoke v.<org.apache.activemq.broker.region.DestinationStatistics: org.apache.activemq.management.CountStatisticImpl getConsumers()>();
virtualinvoke v.<org.apache.activemq.management.CountStatisticImpl: void decrement()>();
v.<org.apache.activemq.broker.region.BaseDestination: long lastActiveTime> = 0L;
return;
}
public final org.apache.activemq.usage.MemoryUsage getMemoryUsage()
{
org.apache.activemq.usage.MemoryUsage v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.usage.MemoryUsage memoryUsage>;
return v;
}
public void setMemoryUsage(org.apache.activemq.usage.MemoryUsage)
{
org.apache.activemq.usage.MemoryUsage v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: org.apache.activemq.usage.MemoryUsage;
v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.usage.MemoryUsage memoryUsage> = v;
return;
}
public org.apache.activemq.usage.TempUsage getTempUsage()
{
org.apache.activemq.usage.SystemUsage v;
org.apache.activemq.usage.TempUsage v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.usage.SystemUsage systemUsage>;
v = virtualinvoke v.<org.apache.activemq.usage.SystemUsage: org.apache.activemq.usage.TempUsage getTempUsage()>();
return v;
}
public org.apache.activemq.broker.region.DestinationStatistics getDestinationStatistics()
{
org.apache.activemq.broker.region.BaseDestination v;
org.apache.activemq.broker.region.DestinationStatistics v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics>;
return v;
}
public org.apache.activemq.command.ActiveMQDestination getActiveMQDestination()
{
org.apache.activemq.broker.region.BaseDestination v;
org.apache.activemq.command.ActiveMQDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.command.ActiveMQDestination destination>;
return v;
}
public final java.lang.String getName()
{
java.lang.String v;
org.apache.activemq.broker.region.BaseDestination v;
org.apache.activemq.command.ActiveMQDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
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 getPhysicalName()>();
return v;
}
public final org.apache.activemq.store.MessageStore getMessageStore()
{
org.apache.activemq.store.MessageStore v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.store.MessageStore store>;
return v;
}
public boolean isActive()
{
long v, v, v;
org.apache.activemq.management.CountStatisticImpl v, v, v;
byte v, v, v;
boolean v, v, v;
java.util.List v;
org.apache.activemq.broker.region.BaseDestination v;
org.apache.activemq.broker.region.DestinationStatistics v, v, v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics>;
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 = v cmp 0L;
if v > 0 goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics>;
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 = v cmp 0L;
if v <= 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: boolean isGcWithNetworkConsumers()>();
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics>;
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 = v cmp 0L;
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: java.util.List getConsumers()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: boolean hasRegularConsumers(java.util.List)>(v);
label:
return v;
}
public int getMaxPageSize()
{
int v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: int maxPageSize>;
return v;
}
public void setMaxPageSize(int)
{
int v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: int;
v.<org.apache.activemq.broker.region.BaseDestination: int maxPageSize> = v;
return;
}
public int getMaxBrowsePageSize()
{
int v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: int maxBrowsePageSize>;
return v;
}
public void setMaxBrowsePageSize(int)
{
int v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: int;
v.<org.apache.activemq.broker.region.BaseDestination: int maxBrowsePageSize> = v;
return;
}
public int getMaxExpirePageSize()
{
int v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: int maxExpirePageSize>;
return v;
}
public void setMaxExpirePageSize(int)
{
int v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: int;
v.<org.apache.activemq.broker.region.BaseDestination: int maxExpirePageSize> = v;
return;
}
public void setExpireMessagesPeriod(long)
{
long v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: long;
v.<org.apache.activemq.broker.region.BaseDestination: long expireMessagesPeriod> = v;
return;
}
public long getExpireMessagesPeriod()
{
long v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: long expireMessagesPeriod>;
return v;
}
public boolean isUseCache()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean useCache>;
return v;
}
public void setUseCache(boolean)
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.BaseDestination: boolean useCache> = v;
return;
}
public int getMinimumMessageSize()
{
int v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: int minimumMessageSize>;
return v;
}
public void setMinimumMessageSize(int)
{
int v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: int;
v.<org.apache.activemq.broker.region.BaseDestination: int minimumMessageSize> = v;
return;
}
public boolean isLazyDispatch()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean lazyDispatch>;
return v;
}
public void setLazyDispatch(boolean)
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.BaseDestination: boolean lazyDispatch> = v;
return;
}
protected long getDestinationSequenceId()
{
long v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.Broker regionBroker>;
v = interfaceinvoke v.<org.apache.activemq.broker.Broker: long getBrokerSequenceId()>();
return v;
}
public boolean isAdvisoryForSlowConsumers()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean advisoryForSlowConsumers>;
return v;
}
public void setAdvisoryForSlowConsumers(boolean)
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.BaseDestination: boolean advisoryForSlowConsumers> = v;
return;
}
public boolean isAdvisoryForDiscardingMessages()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean advisoryForDiscardingMessages>;
return v;
}
public void setAdvisoryForDiscardingMessages(boolean)
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.BaseDestination: boolean advisoryForDiscardingMessages> = v;
return;
}
public boolean isAdvisoryWhenFull()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean advisoryWhenFull>;
return v;
}
public void setAdvisoryWhenFull(boolean)
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.BaseDestination: boolean advisoryWhenFull> = v;
return;
}
public boolean isAdvisoryForDelivery()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean advisoryForDelivery>;
return v;
}
public void setAdvisoryForDelivery(boolean)
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.BaseDestination: boolean advisoryForDelivery> = v;
return;
}
public boolean isAdvisoryForConsumed()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean advisoryForConsumed>;
return v;
}
public void setAdvisoryForConsumed(boolean)
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.BaseDestination: boolean advisoryForConsumed> = v;
return;
}
public boolean isAdvisoryForFastProducers()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean advisoryForFastProducers>;
return v;
}
public void setAdvisoryForFastProducers(boolean)
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.BaseDestination: boolean advisoryForFastProducers> = v;
return;
}
public boolean isSendAdvisoryIfNoConsumers()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean sendAdvisoryIfNoConsumers>;
return v;
}
public void setSendAdvisoryIfNoConsumers(boolean)
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.BaseDestination: boolean sendAdvisoryIfNoConsumers> = v;
return;
}
public boolean isSendDuplicateFromStoreToDLQ()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean sendDuplicateFromStoreToDLQ>;
return v;
}
public void setSendDuplicateFromStoreToDLQ(boolean)
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.BaseDestination: boolean sendDuplicateFromStoreToDLQ> = v;
return;
}
public boolean isIncludeBodyForAdvisory()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean includeBodyForAdvisory>;
return v;
}
public void setIncludeBodyForAdvisory(boolean)
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.BaseDestination: boolean includeBodyForAdvisory> = v;
return;
}
public org.apache.activemq.broker.region.policy.DeadLetterStrategy getDeadLetterStrategy()
{
org.apache.activemq.broker.region.BaseDestination v;
org.apache.activemq.broker.region.policy.DeadLetterStrategy v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.policy.DeadLetterStrategy deadLetterStrategy>;
return v;
}
public void setDeadLetterStrategy(org.apache.activemq.broker.region.policy.DeadLetterStrategy)
{
org.apache.activemq.broker.region.BaseDestination v;
org.apache.activemq.broker.region.policy.DeadLetterStrategy v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: org.apache.activemq.broker.region.policy.DeadLetterStrategy;
v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.policy.DeadLetterStrategy deadLetterStrategy> = v;
return;
}
public int getCursorMemoryHighWaterMark()
{
int v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: int cursorMemoryHighWaterMark>;
return v;
}
public void setCursorMemoryHighWaterMark(int)
{
int v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: int;
v.<org.apache.activemq.broker.region.BaseDestination: int cursorMemoryHighWaterMark> = v;
return;
}
public void messageConsumed(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.region.MessageReference)
{
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.broker.region.MessageReference v;
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.broker.region.MessageReference;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean advisoryForConsumed>;
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.Broker broker>;
interfaceinvoke v.<org.apache.activemq.broker.Broker: void messageConsumed(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.region.MessageReference)>(v, v);
label:
return;
}
public void messageDelivered(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.region.MessageReference)
{
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.broker.region.MessageReference v;
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.broker.region.MessageReference;
v.<org.apache.activemq.broker.region.BaseDestination: long lastActiveTime> = 0L;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean advisoryForDelivery>;
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.Broker broker>;
interfaceinvoke v.<org.apache.activemq.broker.Broker: void messageDelivered(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.region.MessageReference)>(v, v);
label:
return;
}
public void messageDiscarded(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.region.Subscription, org.apache.activemq.broker.region.MessageReference)
{
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.broker.region.MessageReference v;
org.apache.activemq.broker.region.Subscription v;
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.broker.region.Subscription;
v := @parameter: org.apache.activemq.broker.region.MessageReference;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean advisoryForDiscardingMessages>;
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.Broker broker>;
interfaceinvoke v.<org.apache.activemq.broker.Broker: void messageDiscarded(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.region.Subscription,org.apache.activemq.broker.region.MessageReference)>(v, v, v);
label:
return;
}
public void slowConsumer(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.region.Subscription)
{
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.broker.region.Subscription v;
org.apache.activemq.broker.region.policy.SlowConsumerStrategy v, v;
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.broker.region.Subscription;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean advisoryForSlowConsumers>;
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.Broker broker>;
interfaceinvoke v.<org.apache.activemq.broker.Broker: void slowConsumer(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.region.Destination,org.apache.activemq.broker.region.Subscription)>(v, v, v);
label:
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.policy.SlowConsumerStrategy slowConsumerStrategy>;
if v == null goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.policy.SlowConsumerStrategy slowConsumerStrategy>;
interfaceinvoke v.<org.apache.activemq.broker.region.policy.SlowConsumerStrategy: void slowConsumer(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.region.Subscription)>(v, v);
label:
return;
}
public void fastProducer(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.ProducerInfo)
{
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.ProducerInfo v;
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
org.apache.activemq.command.ActiveMQDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.ProducerInfo;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean advisoryForFastProducers>;
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.Broker broker>;
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.command.ActiveMQDestination getActiveMQDestination()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: void fastProducer(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.command.ProducerInfo,org.apache.activemq.command.ActiveMQDestination)>(v, v, v);
label:
return;
}
public void isFull(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.usage.Usage)
{
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.usage.Usage v;
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.usage.Usage;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean advisoryWhenFull>;
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.Broker broker>;
interfaceinvoke v.<org.apache.activemq.broker.Broker: void isFull(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.region.Destination,org.apache.activemq.usage.Usage)>(v, v, v);
label:
return;
}
public void dispose(org.apache.activemq.broker.ConnectionContext) throws java.io.IOException
{
org.apache.activemq.store.MessageStore v, v, v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.usage.MemoryUsage v;
org.apache.activemq.broker.region.BaseDestination v;
org.apache.activemq.broker.region.DestinationStatistics v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.store.MessageStore store>;
if v == null goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.store.MessageStore store>;
interfaceinvoke v.<org.apache.activemq.store.MessageStore: void removeAllMessages(org.apache.activemq.broker.ConnectionContext)>(v);
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.store.MessageStore store>;
interfaceinvoke v.<org.apache.activemq.store.MessageStore: void dispose(org.apache.activemq.broker.ConnectionContext)>(v);
label:
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics>;
virtualinvoke v.<org.apache.activemq.broker.region.DestinationStatistics: void setParent(org.apache.activemq.broker.region.DestinationStatistics)>(null);
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.usage.MemoryUsage memoryUsage>;
virtualinvoke v.<org.apache.activemq.usage.MemoryUsage: void stop()>();
v.<org.apache.activemq.broker.region.BaseDestination: boolean disposed> = 1;
return;
}
public boolean isDisposed()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean disposed>;
return v;
}
protected void onMessageWithNoConsumers(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.command.Message) throws java.lang.Exception
{
java.lang.Throwable v;
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.Message v, v;
org.apache.activemq.state.ProducerState v;
org.apache.activemq.command.TransactionId v, v;
boolean v, v, v, v, v, v;
org.apache.activemq.command.ActiveMQDestination v, v, v, v, v, v, v;
org.apache.activemq.command.ActiveMQTopic v;
org.apache.activemq.command.ProducerInfo v;
org.apache.activemq.broker.region.BaseDestination v;
org.apache.activemq.broker.ProducerBrokerExchange v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.command.Message;
v = virtualinvoke v.<org.apache.activemq.command.Message: boolean isPersistent()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: boolean isSendAdvisoryIfNoConsumers()>();
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.command.ActiveMQDestination destination>;
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: boolean isQueue()>();
if v != 0 goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.command.ActiveMQDestination destination>;
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: boolean isAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
if v != 0 goto label;
label:
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.Message copy()>();
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.ActiveMQDestination getOriginalDestination()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.ActiveMQDestination getDestination()>();
virtualinvoke v.<org.apache.activemq.command.Message: void setOriginalDestination(org.apache.activemq.command.ActiveMQDestination)>(v);
label:
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.TransactionId getOriginalTransactionId()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.TransactionId getTransactionId()>();
virtualinvoke v.<org.apache.activemq.command.Message: void setOriginalTransactionId(org.apache.activemq.command.TransactionId)>(v);
label:
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.command.ActiveMQDestination destination>;
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: boolean isQueue()>();
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.command.ActiveMQDestination destination>;
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getNoQueueConsumersAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
goto label;
label:
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.command.ActiveMQDestination destination>;
v = staticinvoke <org.apache.activemq.advisory.AdvisorySupport: org.apache.activemq.command.ActiveMQTopic getNoTopicConsumersAdvisoryTopic(org.apache.activemq.command.ActiveMQDestination)>(v);
label:
virtualinvoke v.<org.apache.activemq.command.Message: void setDestination(org.apache.activemq.command.ActiveMQDestination)>(v);
virtualinvoke v.<org.apache.activemq.command.Message: void setTransactionId(org.apache.activemq.command.TransactionId)>(null);
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: boolean isProducerFlowControl()>();
label:
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setProducerFlowControl(boolean)>(0);
v = new org.apache.activemq.broker.ProducerBrokerExchange;
specialinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: void <init>()>();
virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: void setMutable(boolean)>(0);
virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: void setConnectionContext(org.apache.activemq.broker.ConnectionContext)>(v);
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);
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: org.apache.activemq.broker.Broker getBroker()>();
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 void processDispatchNotification(org.apache.activemq.command.MessageDispatchNotification) throws java.lang.Exception
{
org.apache.activemq.broker.region.BaseDestination v;
org.apache.activemq.command.MessageDispatchNotification v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: org.apache.activemq.command.MessageDispatchNotification;
return;
}
public final int getStoreUsageHighWaterMark()
{
int v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: int storeUsageHighWaterMark>;
return v;
}
public void setStoreUsageHighWaterMark(int)
{
int v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: int;
v.<org.apache.activemq.broker.region.BaseDestination: int storeUsageHighWaterMark> = v;
return;
}
protected final void waitForSpace(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.ProducerBrokerExchange, org.apache.activemq.usage.Usage, java.lang.String) throws java.io.IOException, java.lang.InterruptedException, javax.jms.ResourceAllocationException
{
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.usage.Usage v;
java.lang.String v;
org.apache.activemq.broker.region.BaseDestination v;
org.apache.activemq.broker.ProducerBrokerExchange v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.broker.ProducerBrokerExchange;
v := @parameter: org.apache.activemq.usage.Usage;
v := @parameter: java.lang.String;
virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: void waitForSpace(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.ProducerBrokerExchange,org.apache.activemq.usage.Usage,int,java.lang.String)>(v, v, v, 100, v);
return;
}
protected final void waitForSpace(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.ProducerBrokerExchange, org.apache.activemq.usage.Usage, int, java.lang.String) throws java.io.IOException, java.lang.InterruptedException, javax.jms.ResourceAllocationException
{
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.management.CountStatisticImpl v;
byte v;
java.lang.Long v, v;
org.apache.activemq.usage.SystemUsage v, v, v;
org.apache.activemq.usage.Usage v;
boolean v, v, v, v, v, v, v, v, v;
javax.jms.ResourceAllocationException v, v;
org.apache.activemq.management.TimeStatisticImpl v;
org.apache.activemq.broker.region.DestinationStatistics v, v;
org.apache.activemq.broker.ProducerBrokerExchange v;
java.lang.Object[] v, v;
java.util.concurrent.atomic.AtomicBoolean v;
long v, v, v, v, v, v, v, v, v, v, v;
int v;
java.lang.String v;
org.slf4j.Logger v, v, v, v, v, v;
java.io.IOException v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.broker.ProducerBrokerExchange;
v := @parameter: org.apache.activemq.usage.Usage;
v := @parameter: int;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: boolean isNetworkConnection()>();
if v != 0 goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.usage.SystemUsage systemUsage>;
v = virtualinvoke v.<org.apache.activemq.usage.SystemUsage: boolean isSendFailIfNoSpace()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: boolean isFlowControlLogRequired()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: org.slf4j.Logger getLog()>();
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("sendFailIfNoSpace, forcing exception on send, usage: {}: {}", v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: org.slf4j.Logger getLog()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("sendFailIfNoSpace, forcing exception on send, usage: {}: {}", v, v);
label:
v = new javax.jms.ResourceAllocationException;
specialinvoke v.<javax.jms.ResourceAllocationException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: boolean isNetworkConnection()>();
if v != 0 goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.usage.SystemUsage systemUsage>;
v = virtualinvoke v.<org.apache.activemq.usage.SystemUsage: long getSendFailIfNoSpaceAfterTimeout()>();
v = v cmp 0L;
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.usage.SystemUsage systemUsage>;
v = virtualinvoke v.<org.apache.activemq.usage.SystemUsage: long getSendFailIfNoSpaceAfterTimeout()>();
v = virtualinvoke v.<org.apache.activemq.usage.Usage: boolean waitForSpace(long,int)>(v, v);
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: boolean isFlowControlLogRequired()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: org.slf4j.Logger getLog()>();
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("sendFailIfNoSpaceAfterTimeout expired, forcing exception on send, usage: {}: {}", v, v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: org.slf4j.Logger getLog()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("sendFailIfNoSpaceAfterTimeout expired, forcing exception on send, usage: {}: {}", v, v);
label:
v = new javax.jms.ResourceAllocationException;
specialinvoke v.<javax.jms.ResourceAllocationException: void <init>(java.lang.String)>(v);
throw v;
label:
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: void blockingOnFlowControl(boolean)>(1);
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics>;
v = virtualinvoke v.<org.apache.activemq.broker.region.DestinationStatistics: org.apache.activemq.management.CountStatisticImpl getBlockedSends()>();
virtualinvoke v.<org.apache.activemq.management.CountStatisticImpl: void increment()>();
label:
v = virtualinvoke v.<org.apache.activemq.usage.Usage: boolean waitForSpace(long,int)>(1000L, v);
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: java.util.concurrent.atomic.AtomicBoolean getStopping()>();
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Connection closed, send aborted.");
throw v;
label:
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: boolean isFlowControlLogRequired()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: org.slf4j.Logger getLog()>();
v = newarray (java.lang.Object)[3];
v[0] = v;
v[1] = v;
v = new java.lang.Long;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v - v;
v = v / 1000L;
specialinvoke v.<java.lang.Long: void <init>(long)>(v);
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object[])>("{}: {} (blocking for: {}s)", v);
goto label;
label:
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: org.slf4j.Logger getLog()>();
v = newarray (java.lang.Object)[3];
v[0] = v;
v[1] = v;
v = new java.lang.Long;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v - v;
v = v / 1000L;
specialinvoke v.<java.lang.Long: void <init>(long)>(v);
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("{}: {} (blocking for: {}s)", v);
goto label;
label:
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v - v;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics>;
v = virtualinvoke v.<org.apache.activemq.broker.region.DestinationStatistics: org.apache.activemq.management.TimeStatisticImpl getBlockedTime()>();
virtualinvoke v.<org.apache.activemq.management.TimeStatisticImpl: void addTime(long)>(v);
virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: void incrementTimeBlocked(org.apache.activemq.broker.region.Destination,long)>(v, v);
virtualinvoke v.<org.apache.activemq.broker.ProducerBrokerExchange: void blockingOnFlowControl(boolean)>(0);
label:
return;
}
protected boolean isFlowControlLogRequired()
{
long v, v, v, v, v;
byte v, v;
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = 0;
v = v.<org.apache.activemq.broker.region.BaseDestination: long blockedProducerWarningInterval>;
v = v cmp 0L;
if v <= 0 goto label;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v.<org.apache.activemq.broker.region.BaseDestination: long lastBlockedProducerWarnTime>;
v = v.<org.apache.activemq.broker.region.BaseDestination: long blockedProducerWarningInterval>;
v = v + v;
v = v cmp v;
if v > 0 goto label;
v.<org.apache.activemq.broker.region.BaseDestination: long lastBlockedProducerWarnTime> = v;
v = 1;
label:
return v;
}
protected abstract org.slf4j.Logger getLog();
public void setSlowConsumerStrategy(org.apache.activemq.broker.region.policy.SlowConsumerStrategy)
{
org.apache.activemq.broker.region.policy.SlowConsumerStrategy v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: org.apache.activemq.broker.region.policy.SlowConsumerStrategy;
v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.policy.SlowConsumerStrategy slowConsumerStrategy> = v;
return;
}
public org.apache.activemq.broker.region.policy.SlowConsumerStrategy getSlowConsumerStrategy()
{
org.apache.activemq.broker.region.policy.SlowConsumerStrategy v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.policy.SlowConsumerStrategy slowConsumerStrategy>;
return v;
}
public boolean isPrioritizedMessages()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean prioritizedMessages>;
return v;
}
public void setPrioritizedMessages(boolean)
{
org.apache.activemq.store.MessageStore v, v;
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.BaseDestination: boolean prioritizedMessages> = v;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.store.MessageStore store>;
if v == null goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.store.MessageStore store>;
interfaceinvoke v.<org.apache.activemq.store.MessageStore: void setPrioritizedMessages(boolean)>(v);
label:
return;
}
public long getInactiveTimeoutBeforeGC()
{
long v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: long inactiveTimeoutBeforeGC>;
return v;
}
public void setInactiveTimeoutBeforeGC(long)
{
long v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: long;
v.<org.apache.activemq.broker.region.BaseDestination: long inactiveTimeoutBeforeGC> = v;
return;
}
public boolean isGcIfInactive()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean gcIfInactive>;
return v;
}
public void setGcIfInactive(boolean)
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.BaseDestination: boolean gcIfInactive> = v;
return;
}
public void setGcWithNetworkConsumers(boolean)
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.BaseDestination: boolean gcWithNetworkConsumers> = v;
return;
}
public boolean isGcWithNetworkConsumers()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean gcWithNetworkConsumers>;
return v;
}
public void markForGC(long)
{
long v, v, v, v;
org.apache.activemq.management.CountStatisticImpl v;
byte v, v, v;
org.apache.activemq.broker.region.BaseDestination v;
org.apache.activemq.broker.region.DestinationStatistics v;
boolean v, v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: long;
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: boolean isGcIfInactive()>();
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: long lastActiveTime>;
v = v cmp 0L;
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: boolean isActive()>();
if v != 0 goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics>;
v = v.<org.apache.activemq.broker.region.DestinationStatistics: org.apache.activemq.management.CountStatisticImpl messages>;
v = virtualinvoke v.<org.apache.activemq.management.CountStatisticImpl: long getCount()>();
v = v cmp 0L;
if v != 0 goto label;
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: long getInactiveTimeoutBeforeGC()>();
v = v cmp 0L;
if v <= 0 goto label;
v.<org.apache.activemq.broker.region.BaseDestination: long lastActiveTime> = v;
label:
return;
}
public boolean canGC()
{
long v, v, v, v, v;
org.apache.activemq.management.CountStatisticImpl v;
byte v, v, v;
org.apache.activemq.broker.region.BaseDestination v;
org.apache.activemq.broker.region.DestinationStatistics v;
boolean v, v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = 0;
v = v.<org.apache.activemq.broker.region.BaseDestination: long lastActiveTime>;
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: boolean isGcIfInactive()>();
if v == 0 goto label;
v = v cmp 0L;
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics>;
v = v.<org.apache.activemq.broker.region.DestinationStatistics: org.apache.activemq.management.CountStatisticImpl messages>;
v = virtualinvoke v.<org.apache.activemq.management.CountStatisticImpl: long getCount()>();
v = v cmp 0L;
if v != 0 goto label;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
v = v - v;
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: long getInactiveTimeoutBeforeGC()>();
v = v cmp v;
if v < 0 goto label;
v = 1;
label:
return v;
}
public void setReduceMemoryFootprint(boolean)
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.BaseDestination: boolean reduceMemoryFootprint> = v;
return;
}
public boolean isReduceMemoryFootprint()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean reduceMemoryFootprint>;
return v;
}
public boolean isDoOptimzeMessageStorage()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean doOptimzeMessageStorage>;
return v;
}
public void setDoOptimzeMessageStorage(boolean)
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.BaseDestination: boolean doOptimzeMessageStorage> = v;
return;
}
public int getOptimizeMessageStoreInFlightLimit()
{
int v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: int optimizeMessageStoreInFlightLimit>;
return v;
}
public void setOptimizeMessageStoreInFlightLimit(int)
{
int v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: int;
v.<org.apache.activemq.broker.region.BaseDestination: int optimizeMessageStoreInFlightLimit> = v;
return;
}
public abstract java.util.List getConsumers();
protected boolean hasRegularConsumers(java.util.List)
{
java.util.Iterator v;
java.util.List v;
java.lang.Object v;
org.apache.activemq.broker.region.BaseDestination v;
org.apache.activemq.command.ConsumerInfo v;
boolean v, v, v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: java.util.List;
v = 0;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<org.apache.activemq.broker.region.Subscription: org.apache.activemq.command.ConsumerInfo getConsumerInfo()>();
v = virtualinvoke v.<org.apache.activemq.command.ConsumerInfo: boolean isNetworkSubscription()>();
if v != 0 goto label;
v = 1;
label:
return v;
}
public org.apache.activemq.broker.ConnectionContext createConnectionContext()
{
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.security.SecurityContext v;
org.apache.activemq.filter.MessageEvaluationContext v;
org.apache.activemq.broker.region.BaseDestination v;
org.apache.activemq.command.ActiveMQDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = new org.apache.activemq.broker.ConnectionContext;
specialinvoke v.<org.apache.activemq.broker.ConnectionContext: void <init>()>();
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.Broker broker>;
virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: void setBroker(org.apache.activemq.broker.Broker)>(v);
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: org.apache.activemq.filter.MessageEvaluationContext getMessageEvaluationContext()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.command.ActiveMQDestination getActiveMQDestination()>();
virtualinvoke v.<org.apache.activemq.filter.MessageEvaluationContext: void setDestination(org.apache.activemq.command.ActiveMQDestination)>(v);
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);
return v;
}
protected org.apache.activemq.command.MessageAck convertToNonRangedAck(org.apache.activemq.command.MessageAck, org.apache.activemq.broker.region.MessageReference)
{
org.apache.activemq.broker.region.MessageReference v;
org.apache.activemq.command.MessageAck v, v;
org.apache.activemq.command.MessageId v, v;
int v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: org.apache.activemq.command.MessageAck;
v := @parameter: org.apache.activemq.broker.region.MessageReference;
v = virtualinvoke v.<org.apache.activemq.command.MessageAck: int getMessageCount()>();
if v <= 0 goto label;
v = new org.apache.activemq.command.MessageAck;
specialinvoke v.<org.apache.activemq.command.MessageAck: void <init>()>();
virtualinvoke v.<org.apache.activemq.command.MessageAck: void copy(org.apache.activemq.command.MessageAck)>(v);
v = v;
virtualinvoke v.<org.apache.activemq.command.MessageAck: void setMessageCount(int)>(1);
label:
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.MessageId getMessageId()>();
virtualinvoke v.<org.apache.activemq.command.MessageAck: void setFirstMessageId(org.apache.activemq.command.MessageId)>(v);
v = interfaceinvoke v.<org.apache.activemq.broker.region.MessageReference: org.apache.activemq.command.MessageId getMessageId()>();
virtualinvoke v.<org.apache.activemq.command.MessageAck: void setLastMessageId(org.apache.activemq.command.MessageId)>(v);
return v;
}
protected boolean isDLQ()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
org.apache.activemq.command.ActiveMQDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.command.ActiveMQDestination destination>;
v = virtualinvoke v.<org.apache.activemq.command.ActiveMQDestination: boolean isDLQ()>();
return v;
}
public void duplicateFromStore(org.apache.activemq.command.Message, org.apache.activemq.broker.region.Subscription)
{
java.lang.Throwable v;
java.lang.Object[] v, v;
org.apache.activemq.broker.region.Subscription v;
org.apache.activemq.broker.Broker v, v;
org.apache.activemq.broker.ConnectionContext v;
org.apache.activemq.command.Message v;
org.apache.activemq.management.CountStatisticImpl v;
java.lang.String v;
boolean v;
org.apache.activemq.command.MessageAck v;
org.slf4j.Logger v, v;
org.apache.activemq.command.MessageId v, v;
java.io.IOException v;
org.apache.activemq.command.ActiveMQDestination v, v, v;
org.apache.activemq.broker.region.BaseDestination v;
org.apache.activemq.broker.region.DestinationStatistics v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: org.apache.activemq.command.Message;
v := @parameter: org.apache.activemq.broker.region.Subscription;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.region.DestinationStatistics destinationStatistics>;
v = virtualinvoke v.<org.apache.activemq.broker.region.DestinationStatistics: org.apache.activemq.management.CountStatisticImpl getDuplicateFromStore()>();
virtualinvoke v.<org.apache.activemq.management.CountStatisticImpl: void increment()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.ConnectionContext createConnectionContext()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: org.slf4j.Logger getLog()>();
v = newarray (java.lang.Object)[3];
v[0] = "duplicate from store for ";
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.command.ActiveMQDestination destination>;
v[1] = v;
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.MessageId getMessageId()>();
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object[])>("{}{}, redirecting {} for dlq processing", v);
v = new java.lang.Throwable;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.command.ActiveMQDestination destination>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.activemq.command.ActiveMQDestination)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("duplicate from store for \u0001");
specialinvoke v.<java.lang.Throwable: void <init>(java.lang.String)>(v);
virtualinvoke v.<org.apache.activemq.command.Message: void setRegionDestination(org.apache.activemq.command.Message$MessageDestination)>(v);
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: boolean isSendDuplicateFromStoreToDLQ()>();
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.broker.Broker broker>;
v = interfaceinvoke v.<org.apache.activemq.broker.Broker: org.apache.activemq.broker.Broker getRoot()>();
interfaceinvoke v.<org.apache.activemq.broker.Broker: boolean sendToDeadLetterQueue(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.region.MessageReference,org.apache.activemq.broker.region.Subscription,java.lang.Throwable)>(v, v, null, v);
label:
v = new org.apache.activemq.command.MessageAck;
specialinvoke v.<org.apache.activemq.command.MessageAck: void <init>(org.apache.activemq.command.Message,byte,int)>(v, 1, 1);
virtualinvoke v.<org.apache.activemq.command.MessageAck: void setPoisonCause(java.lang.Throwable)>(v);
label:
virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: void acknowledge(org.apache.activemq.broker.ConnectionContext,org.apache.activemq.broker.region.Subscription,org.apache.activemq.command.MessageAck,org.apache.activemq.broker.region.MessageReference)>(v, v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.activemq.broker.region.BaseDestination: org.slf4j.Logger getLog()>();
v = newarray (java.lang.Object)[3];
v = virtualinvoke v.<org.apache.activemq.command.Message: org.apache.activemq.command.MessageId getMessageId()>();
v[0] = v;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.command.ActiveMQDestination destination>;
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String,java.lang.Object[])>("Failed to acknowledge duplicate message {} from {} with {}", v);
label:
return;
catch java.io.IOException from label to label with label;
}
public void setPersistJMSRedelivered(boolean)
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.BaseDestination: boolean persistJMSRedelivered> = v;
return;
}
public boolean isPersistJMSRedelivered()
{
org.apache.activemq.broker.region.BaseDestination v;
boolean v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: boolean persistJMSRedelivered>;
return v;
}
public org.apache.activemq.usage.SystemUsage getSystemUsage()
{
org.apache.activemq.usage.SystemUsage v;
org.apache.activemq.broker.region.BaseDestination v;
v := @this: org.apache.activemq.broker.region.BaseDestination;
v = v.<org.apache.activemq.broker.region.BaseDestination: org.apache.activemq.usage.SystemUsage systemUsage>;
return v;
}
}