public class org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy extends java.lang.Object implements org.apache.activemq.broker.region.policy.SlowConsumerStrategy, java.lang.Runnable
{
private static final org.slf4j.Logger LOG;
protected java.lang.String name;
protected org.apache.activemq.thread.Scheduler scheduler;
protected org.apache.activemq.broker.Broker broker;
protected final java.util.concurrent.atomic.AtomicBoolean taskStarted;
protected final java.util.Map slowConsumers;
private long maxSlowCount;
private long maxSlowDuration;
private long checkPeriod;
private boolean abortConnection;
private boolean ignoreNetworkConsumers;
public void <init>()
{
int v;
java.util.concurrent.ConcurrentHashMap v;
java.util.concurrent.atomic.AtomicBoolean v;
java.lang.String v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy v;
v := @this: org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy;
specialinvoke v.<java.lang.Object: void <init>()>();
v = virtualinvoke v.<java.lang.Object: int hashCode()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("AbortSlowConsumerStrategy@\u0001");
v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: java.lang.String name> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: java.util.concurrent.atomic.AtomicBoolean taskStarted> = v;
v = new java.util.concurrent.ConcurrentHashMap;
specialinvoke v.<java.util.concurrent.ConcurrentHashMap: void <init>()>();
v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: java.util.Map slowConsumers> = v;
v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: long maxSlowCount> = -1L;
v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: long maxSlowDuration> = 30000L;
v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: long checkPeriod> = 30000L;
v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: boolean abortConnection> = 0;
v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: boolean ignoreNetworkConsumers> = 1;
return;
}
public void setBrokerService(org.apache.activemq.broker.Broker)
{
org.apache.activemq.broker.Broker v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy v;
org.apache.activemq.thread.Scheduler v;
v := @this: org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy;
v := @parameter: org.apache.activemq.broker.Broker;
v = interfaceinvoke v.<org.apache.activemq.broker.Broker: org.apache.activemq.thread.Scheduler getScheduler()>();
v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: org.apache.activemq.thread.Scheduler scheduler> = v;
v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: org.apache.activemq.broker.Broker broker> = v;
return;
}
public void slowConsumer(org.apache.activemq.broker.ConnectionContext, org.apache.activemq.broker.region.Subscription)
{
org.apache.activemq.broker.region.Subscription v;
java.util.concurrent.atomic.AtomicBoolean v;
long v, v, v, v;
org.apache.activemq.broker.ConnectionContext v;
byte v, v, v;
java.util.Map v, v, v;
boolean v, v;
org.apache.activemq.broker.region.policy.SlowConsumerEntry v;
org.slf4j.Logger v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy v;
org.apache.activemq.thread.Scheduler v;
java.lang.Object v;
v := @this: org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy;
v := @parameter: org.apache.activemq.broker.ConnectionContext;
v := @parameter: org.apache.activemq.broker.region.Subscription;
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: long maxSlowCount>;
v = v cmp 0L;
if v >= 0 goto label;
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: long maxSlowDuration>;
v = v cmp 0L;
if v >= 0 goto label;
v = <org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String)>("no limits set, slowConsumer strategy has nothing to do");
return;
label:
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: java.util.concurrent.atomic.AtomicBoolean taskStarted>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: org.apache.activemq.thread.Scheduler scheduler>;
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: long checkPeriod>;
virtualinvoke v.<org.apache.activemq.thread.Scheduler: void executePeriodically(java.lang.Runnable,long)>(v, v);
label:
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: java.util.Map slowConsumers>;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v != 0 goto label;
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: java.util.Map slowConsumers>;
v = new org.apache.activemq.broker.region.policy.SlowConsumerEntry;
specialinvoke v.<org.apache.activemq.broker.region.policy.SlowConsumerEntry: void <init>(org.apache.activemq.broker.ConnectionContext)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: long maxSlowCount>;
v = v cmp 0L;
if v <= 0 goto label;
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: java.util.Map slowConsumers>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
virtualinvoke v.<org.apache.activemq.broker.region.policy.SlowConsumerEntry: void slow()>();
label:
return;
}
public void run()
{
org.apache.activemq.command.ConsumerId v, v;
byte v, v, v, v, v;
java.util.Map v, v, v, v, v;
boolean v, v, v, v, v, v;
java.util.Collection v;
java.util.Set v;
java.util.HashMap v;
long v, v, v, v, v, v, v;
int v, v;
org.apache.activemq.command.ConsumerInfo v, v, v;
org.slf4j.Logger v, v;
java.util.Iterator v, v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy v;
java.lang.Object v, v, v, v, v, v, v, v, v, v, v, v;
v := @this: org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy;
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: long maxSlowDuration>;
v = v cmp 0L;
if v <= 0 goto label;
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: java.util.Map slowConsumers>;
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()>();
virtualinvoke v.<org.apache.activemq.broker.region.policy.SlowConsumerEntry: void mark()>();
goto label;
label:
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: java.util.Map slowConsumers>;
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: boolean isIgnoreNetworkSubscriptions()>();
if v == 0 goto label;
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 = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: java.util.Map slowConsumers>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = <org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: org.slf4j.Logger LOG>;
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()>();
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("network sub: {} is no longer slow", v);
goto label;
label:
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<org.apache.activemq.broker.region.Subscription: boolean isSlowConsumer()>();
if v == 0 goto label;
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: long maxSlowDuration>;
v = v cmp 0L;
if v <= 0 goto label;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = v.<org.apache.activemq.broker.region.policy.SlowConsumerEntry: int markCount>;
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: long checkPeriod>;
v = v * v;
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: long maxSlowDuration>;
v = v cmp v;
if v >= 0 goto label;
label:
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: long maxSlowCount>;
v = v cmp 0L;
if v <= 0 goto label;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = v.<org.apache.activemq.broker.region.policy.SlowConsumerEntry: int slowCount>;
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: long maxSlowCount>;
v = v cmp v;
if v < 0 goto label;
label:
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
virtualinvoke v.<java.util.HashMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: java.util.Map slowConsumers>;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
goto label;
label:
v = <org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
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()>();
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object)>("sub: {} is no longer slow", v);
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: java.util.Map slowConsumers>;
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
goto label;
label:
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: boolean abortConnection>;
virtualinvoke v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: void abortSubscription(java.util.Map,boolean)>(v, v);
return;
}
protected void abortSubscription(java.util.Map, boolean)
{
java.lang.Integer v, v;
org.apache.activemq.command.ConsumerId v, v, v, v, v;
org.apache.activemq.broker.ConnectionContext v;
java.util.Map v;
java.util.Set v, v;
java.lang.Exception v, v, v;
org.apache.activemq.command.ConsumerControl v;
java.lang.Object[] v;
java.util.ArrayList v;
java.lang.String v, v, v;
org.apache.activemq.broker.Connection v;
org.apache.activemq.command.ConsumerInfo v, v, v, v, v;
org.apache.activemq.thread.Scheduler v, v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy$1 v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy$2 v;
boolean v, v, v, v, v, v, v;
org.apache.activemq.command.ActiveMQDestination v, v;
java.util.HashMap v;
int v, v;
org.slf4j.Logger v, v, v, v, v, v, v, v;
java.util.Iterator v, v, v, v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy v;
java.lang.Object v, v, v, v, v, v, v, v, v;
v := @this: org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy;
v := @parameter: java.util.Map;
v := @parameter: boolean;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = v.<org.apache.activemq.broker.region.policy.SlowConsumerEntry: org.apache.activemq.broker.ConnectionContext context>;
if v == null goto label;
v = virtualinvoke v.<org.apache.activemq.broker.ConnectionContext: org.apache.activemq.broker.Connection getConnection()>();
if v != null goto label;
v = <org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("slowConsumer abort ignored, no connection in context: {}", v);
label:
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v != 0 goto label;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
if v == 0 goto label;
v = <org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.apache.activemq.broker.Connection: java.lang.String getConnectionId()>();
v = interfaceinvoke v.<java.util.List: int size()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("aborting connection:{} with {} slow consumers", v, v);
v = <org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = <org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
v = interfaceinvoke v.<org.apache.activemq.broker.Connection: java.lang.String getConnectionId()>();
v[0] = 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[1] = v;
v = interfaceinvoke v.<org.apache.activemq.broker.region.Subscription: org.apache.activemq.command.ActiveMQDestination getActiveMQDestination()>();
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object[])>("Connection {} being aborted because of slow consumer: {} on destination: {}", v);
goto label;
label:
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: org.apache.activemq.thread.Scheduler scheduler>;
v = new org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy$1;
specialinvoke v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy$1: void <init>(org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy,org.apache.activemq.broker.Connection,java.util.List)>(v, v, v);
virtualinvoke v.<org.apache.activemq.thread.Scheduler: void executeAfterDelay(java.lang.Runnable,long)>(v, 0L);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.apache.activemq.broker.Connection: java.lang.String getConnectionId()>();
v = interfaceinvoke v.<java.util.List: int size()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("exception on aborting connection {} with {} slow consumers", v, v);
goto label;
label:
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = <org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: org.slf4j.Logger LOG>;
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 = interfaceinvoke v.<org.apache.activemq.broker.region.Subscription: org.apache.activemq.command.ActiveMQDestination getActiveMQDestination()>();
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("aborting slow consumer: {} for destination:{}", v, v);
label:
v = new org.apache.activemq.command.ConsumerControl;
specialinvoke v.<org.apache.activemq.command.ConsumerControl: 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()>();
virtualinvoke v.<org.apache.activemq.command.ConsumerControl: void setConsumerId(org.apache.activemq.command.ConsumerId)>(v);
virtualinvoke v.<org.apache.activemq.command.ConsumerControl: void setClose(boolean)>(1);
interfaceinvoke v.<org.apache.activemq.broker.Connection: void dispatchAsync(org.apache.activemq.command.Command)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: org.slf4j.Logger LOG>;
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()>();
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("exception on aborting slow consumer: {}", v, v);
label:
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: org.apache.activemq.thread.Scheduler scheduler>;
v = new org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy$2;
specialinvoke v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy$2: void <init>(org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy,org.apache.activemq.broker.region.Subscription,org.apache.activemq.broker.Connection)>(v, v, v);
virtualinvoke v.<org.apache.activemq.thread.Scheduler: void executeAfterDelay(java.lang.Runnable,long)>(v, 1000L);
label:
goto label;
label:
v := @caughtexception;
v = <org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: org.slf4j.Logger LOG>;
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()>();
interfaceinvoke v.<org.slf4j.Logger: void info(java.lang.String,java.lang.Object,java.lang.Object)>("exception on local remove of slow consumer: {}", v, v);
goto label;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
public void abortConsumer(org.apache.activemq.broker.region.Subscription, boolean)
{
org.slf4j.Logger v;
org.apache.activemq.broker.region.Subscription v;
java.util.Map v;
java.lang.Object v;
java.util.HashMap v;
boolean v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy v;
v := @this: org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy;
v := @parameter: org.apache.activemq.broker.region.Subscription;
v := @parameter: boolean;
if v == null goto label;
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: java.util.Map slowConsumers>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object remove(java.lang.Object)>(v);
if v == null goto label;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
virtualinvoke v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: void abortSubscription(java.util.Map,boolean)>(v, v);
goto label;
label:
v = <org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Object)>("cannot abort subscription as it no longer exists in the map of slow consumers: {}", v);
label:
return;
}
public long getMaxSlowCount()
{
long v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy v;
v := @this: org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy;
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: long maxSlowCount>;
return v;
}
public void setMaxSlowCount(long)
{
long v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy v;
v := @this: org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy;
v := @parameter: long;
v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: long maxSlowCount> = v;
return;
}
public long getMaxSlowDuration()
{
long v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy v;
v := @this: org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy;
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: long maxSlowDuration>;
return v;
}
public void setMaxSlowDuration(long)
{
long v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy v;
v := @this: org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy;
v := @parameter: long;
v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: long maxSlowDuration> = v;
return;
}
public long getCheckPeriod()
{
long v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy v;
v := @this: org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy;
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: long checkPeriod>;
return v;
}
public void setCheckPeriod(long)
{
long v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy v;
v := @this: org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy;
v := @parameter: long;
v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: long checkPeriod> = v;
return;
}
public boolean isAbortConnection()
{
boolean v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy v;
v := @this: org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy;
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: boolean abortConnection>;
return v;
}
public void setAbortConnection(boolean)
{
boolean v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy v;
v := @this: org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: boolean abortConnection> = v;
return;
}
public boolean isIgnoreNetworkSubscriptions()
{
boolean v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy v;
v := @this: org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy;
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: boolean ignoreNetworkConsumers>;
return v;
}
public void setIgnoreNetworkConsumers(boolean)
{
boolean v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy v;
v := @this: org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy;
v := @parameter: boolean;
v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: boolean ignoreNetworkConsumers> = v;
return;
}
public void setName(java.lang.String)
{
java.lang.String v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy v;
v := @this: org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy;
v := @parameter: java.lang.String;
v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: java.lang.String name> = v;
return;
}
public java.lang.String getName()
{
java.lang.String v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy v;
v := @this: org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy;
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: java.lang.String name>;
return v;
}
public java.util.Map getSlowConsumers()
{
java.util.Map v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy v;
v := @this: org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy;
v = v.<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: java.util.Map slowConsumers>;
return v;
}
public void addDestination(org.apache.activemq.broker.region.Destination)
{
org.apache.activemq.broker.region.Destination v;
org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy v;
v := @this: org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy;
v := @parameter: org.apache.activemq.broker.region.Destination;
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/activemq/broker/region/policy/AbortSlowConsumerStrategy;");
<org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy: org.slf4j.Logger LOG> = v;
return;
}
}