public class org.apache.camel.impl.ThrottlingInflightRoutePolicy extends org.apache.camel.support.RoutePolicySupport implements org.apache.camel.CamelContextAware
{
private final java.util.Set routes;
private org.apache.camel.impl.ThrottlingInflightRoutePolicy$ContextScopedEventNotifier eventNotifier;
private org.apache.camel.CamelContext camelContext;
private final java.util.concurrent.locks.Lock lock;
private org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope scope;
private int maxInflightExchanges;
private int resumePercentOfMax;
private int resumeInflightExchanges;
private org.apache.camel.LoggingLevel loggingLevel;
private org.apache.camel.util.CamelLogger logger;
public void <init>()
{
org.apache.camel.LoggingLevel v;
java.util.concurrent.locks.ReentrantLock v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
java.util.LinkedHashSet v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
specialinvoke v.<org.apache.camel.support.RoutePolicySupport: void <init>()>();
v = new java.util.LinkedHashSet;
specialinvoke v.<java.util.LinkedHashSet: void <init>()>();
v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: java.util.Set routes> = v;
v = new java.util.concurrent.locks.ReentrantLock;
specialinvoke v.<java.util.concurrent.locks.ReentrantLock: void <init>()>();
v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: java.util.concurrent.locks.Lock lock> = v;
v = <org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope: org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope Route>;
v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope scope> = v;
v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int maxInflightExchanges> = 1000;
v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int resumePercentOfMax> = 70;
v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int resumeInflightExchanges> = 700;
v = <org.apache.camel.LoggingLevel: org.apache.camel.LoggingLevel INFO>;
v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.LoggingLevel loggingLevel> = v;
return;
}
public java.lang.String toString()
{
org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope v;
int v, v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
java.lang.String v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int maxInflightExchanges>;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int resumePercentOfMax>;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope scope>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int,org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("ThrottlingInflightRoutePolicy[\u / \u0001% using scope \u]");
return v;
}
public org.apache.camel.CamelContext getCamelContext()
{
org.apache.camel.CamelContext v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.CamelContext camelContext>;
return v;
}
public void setCamelContext(org.apache.camel.CamelContext)
{
org.apache.camel.CamelContext v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v := @parameter: org.apache.camel.CamelContext;
v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.CamelContext camelContext> = v;
return;
}
public void onInit(org.apache.camel.Route)
{
java.util.Set v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
org.apache.camel.Route v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v := @parameter: org.apache.camel.Route;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: java.util.Set routes>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
return;
}
public void onExchangeDone(org.apache.camel.Route, org.apache.camel.Exchange)
{
org.apache.camel.Route v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope v, v;
org.apache.camel.Exchange v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v := @parameter: org.apache.camel.Route;
v := @parameter: org.apache.camel.Exchange;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope scope>;
v = <org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope: org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope Route>;
if v != v goto label;
virtualinvoke v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: void throttle(org.apache.camel.Route,org.apache.camel.Exchange)>(v, v);
label:
return;
}
protected void throttle(org.apache.camel.Route, org.apache.camel.Exchange)
{
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
java.lang.Integer v, v, v, v, v;
org.apache.camel.Consumer v;
boolean v, v, v, v, v, v;
java.lang.Exception v, v;
java.lang.Throwable v, v;
java.lang.Object[] v, v;
org.apache.camel.Route v;
org.apache.camel.Exchange v;
int v, v, v, v, v, v, v, v;
java.lang.Boolean v, v;
org.slf4j.Logger v, v, v, v;
java.util.concurrent.locks.Lock v, v, v, v, v, v, v, v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v := @parameter: org.apache.camel.Route;
v := @parameter: org.apache.camel.Exchange;
v = interfaceinvoke v.<org.apache.camel.Route: org.apache.camel.Consumer getConsumer()>();
v = specialinvoke v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int getSize(org.apache.camel.Route,org.apache.camel.Exchange)>(v, v);
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int maxInflightExchanges>;
if v <= 0 goto label;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int maxInflightExchanges>;
if v <= v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.slf4j.Logger log>;
v = newarray (java.lang.Object)[4];
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int maxInflightExchanges>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int maxInflightExchanges>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[2] = v;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v[3] = v;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object[])>("{} > 0 && {} > {} evaluated as {}", v);
label:
if v == 0 goto label;
label:
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: java.util.concurrent.locks.Lock lock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
specialinvoke v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: void stopConsumer(int,org.apache.camel.Consumer)>(v, v);
label:
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: java.util.concurrent.locks.Lock lock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: void handleException(java.lang.Throwable)>(v);
label:
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: java.util.concurrent.locks.Lock lock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: java.util.concurrent.locks.Lock lock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
v = specialinvoke v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int getSize(org.apache.camel.Route,org.apache.camel.Exchange)>(v, v);
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int resumeInflightExchanges>;
if v > v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.slf4j.Logger log>;
v = newarray (java.lang.Object)[3];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int resumeInflightExchanges>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(v);
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String,java.lang.Object[])>("{} <= {} evaluated as {}", v);
label:
if v == 0 goto label;
label:
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: java.util.concurrent.locks.Lock lock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void lock()>();
specialinvoke v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: void startConsumer(int,org.apache.camel.Consumer)>(v, v);
label:
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: java.util.concurrent.locks.Lock lock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: void handleException(java.lang.Throwable)>(v);
label:
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: java.util.concurrent.locks.Lock lock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
goto label;
label:
v := @caughtexception;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: java.util.concurrent.locks.Lock lock>;
interfaceinvoke v.<java.util.concurrent.locks.Lock: void unlock()>();
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
public int getMaxInflightExchanges()
{
int v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int maxInflightExchanges>;
return v;
}
public void setMaxInflightExchanges(int)
{
int v, v, v, v, v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v := @parameter: int;
v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int maxInflightExchanges> = v;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int resumePercentOfMax>;
v = v * v;
v = v / 100;
v = staticinvoke <java.lang.Math: int max(int,int)>(v, 1);
v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int resumeInflightExchanges> = v;
return;
}
public int getResumePercentOfMax()
{
int v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int resumePercentOfMax>;
return v;
}
public void setResumePercentOfMax(int)
{
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
java.lang.IllegalArgumentException v;
int v, v, v, v, v;
java.lang.String v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v := @parameter: int;
if v < 0 goto label;
if v <= 100 goto label;
label:
v = new java.lang.IllegalArgumentException;
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[])>("Must be a percentage between 0 and 100, was: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int resumePercentOfMax> = v;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int maxInflightExchanges>;
v = v * v;
v = v / 100;
v = staticinvoke <java.lang.Math: int max(int,int)>(v, 1);
v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int resumeInflightExchanges> = v;
return;
}
public org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope getScope()
{
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope scope>;
return v;
}
public void setScope(org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope)
{
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v := @parameter: org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope;
v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope scope> = v;
return;
}
public org.apache.camel.LoggingLevel getLoggingLevel()
{
org.apache.camel.LoggingLevel v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.LoggingLevel loggingLevel>;
return v;
}
public org.apache.camel.util.CamelLogger getLogger()
{
org.apache.camel.util.CamelLogger v, v, v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.util.CamelLogger logger>;
if v != null goto label;
v = virtualinvoke v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.util.CamelLogger createLogger()>();
v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.util.CamelLogger logger> = v;
label:
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.util.CamelLogger logger>;
return v;
}
public void setLogger(org.apache.camel.util.CamelLogger)
{
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
org.apache.camel.util.CamelLogger v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v := @parameter: org.apache.camel.util.CamelLogger;
v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.util.CamelLogger logger> = v;
return;
}
public void setLoggingLevel(org.apache.camel.LoggingLevel)
{
org.apache.camel.LoggingLevel v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v := @parameter: org.apache.camel.LoggingLevel;
v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.LoggingLevel loggingLevel> = v;
return;
}
protected org.apache.camel.util.CamelLogger createLogger()
{
org.apache.camel.LoggingLevel v;
org.slf4j.Logger v;
org.apache.camel.util.CamelLogger v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v = new org.apache.camel.util.CamelLogger;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/camel/impl/ThrottlingInflightRoutePolicy;");
v = virtualinvoke v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.LoggingLevel getLoggingLevel()>();
specialinvoke v.<org.apache.camel.util.CamelLogger: void <init>(org.slf4j.Logger,org.apache.camel.LoggingLevel)>(v, v);
return v;
}
private int getSize(org.apache.camel.Route, org.apache.camel.Exchange)
{
org.apache.camel.CamelContext v, v;
org.apache.camel.Route v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope v, v;
org.apache.camel.Exchange v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
org.apache.camel.spi.InflightRepository v, v;
int v, v;
java.lang.String v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v := @parameter: org.apache.camel.Route;
v := @parameter: org.apache.camel.Exchange;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope scope>;
v = <org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope: org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope Context>;
if v != v goto label;
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.CamelContext getContext()>();
v = interfaceinvoke v.<org.apache.camel.CamelContext: org.apache.camel.spi.InflightRepository getInflightRepository()>();
v = interfaceinvoke v.<org.apache.camel.spi.InflightRepository: int size()>();
return v;
label:
v = interfaceinvoke v.<org.apache.camel.Exchange: org.apache.camel.CamelContext getContext()>();
v = interfaceinvoke v.<org.apache.camel.CamelContext: org.apache.camel.spi.InflightRepository getInflightRepository()>();
v = interfaceinvoke v.<org.apache.camel.Route: java.lang.String getId()>();
v = interfaceinvoke v.<org.apache.camel.spi.InflightRepository: int size(java.lang.String)>(v);
return v;
}
private void startConsumer(int, org.apache.camel.Consumer) throws java.lang.Exception
{
org.apache.camel.util.CamelLogger v;
int v, v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
java.lang.String v;
org.apache.camel.Consumer v;
boolean v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v := @parameter: int;
v := @parameter: org.apache.camel.Consumer;
v = virtualinvoke v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: boolean resumeOrStartConsumer(org.apache.camel.Consumer)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.util.CamelLogger getLogger()>();
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int resumeInflightExchanges>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int,org.apache.camel.Consumer)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Throttling consumer: \u <= \u inflight exchange by resuming consumer: \u0001");
virtualinvoke v.<org.apache.camel.util.CamelLogger: void log(java.lang.String)>(v);
label:
return;
}
private void stopConsumer(int, org.apache.camel.Consumer) throws java.lang.Exception
{
org.apache.camel.util.CamelLogger v;
int v, v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
java.lang.String v;
org.apache.camel.Consumer v;
boolean v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v := @parameter: int;
v := @parameter: org.apache.camel.Consumer;
v = virtualinvoke v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: boolean suspendOrStopConsumer(org.apache.camel.Consumer)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.util.CamelLogger getLogger()>();
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: int maxInflightExchanges>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int,org.apache.camel.Consumer)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Throttling consumer: \u > \u inflight exchange by suspending consumer: \u0001");
virtualinvoke v.<org.apache.camel.util.CamelLogger: void log(java.lang.String)>(v);
label:
return;
}
protected void doStart() throws java.lang.Exception
{
org.apache.camel.CamelContext v, v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope v, v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy$ContextScopedEventNotifier v, v, v;
org.apache.camel.spi.ManagementStrategy v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.CamelContext camelContext>;
staticinvoke <org.apache.camel.util.ObjectHelper: java.lang.Object notNull(java.lang.Object,java.lang.String,java.lang.Object)>(v, "CamelContext", v);
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope scope>;
v = <org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope: org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope Context>;
if v != v goto label;
v = new org.apache.camel.impl.ThrottlingInflightRoutePolicy$ContextScopedEventNotifier;
specialinvoke v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy$ContextScopedEventNotifier: void <init>(org.apache.camel.impl.ThrottlingInflightRoutePolicy)>(v);
v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.impl.ThrottlingInflightRoutePolicy$ContextScopedEventNotifier eventNotifier> = v;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.impl.ThrottlingInflightRoutePolicy$ContextScopedEventNotifier eventNotifier>;
staticinvoke <org.apache.camel.util.ServiceHelper: void startService(org.apache.camel.Service)>(v);
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.CamelContext camelContext>;
v = interfaceinvoke v.<org.apache.camel.CamelContext: org.apache.camel.spi.ManagementStrategy getManagementStrategy()>();
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.impl.ThrottlingInflightRoutePolicy$ContextScopedEventNotifier eventNotifier>;
interfaceinvoke v.<org.apache.camel.spi.ManagementStrategy: void addEventNotifier(org.apache.camel.spi.EventNotifier)>(v);
label:
return;
}
protected void doStop() throws java.lang.Exception
{
org.apache.camel.CamelContext v, v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope v, v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy v;
org.apache.camel.impl.ThrottlingInflightRoutePolicy$ContextScopedEventNotifier v;
org.apache.camel.spi.ManagementStrategy v;
v := @this: org.apache.camel.impl.ThrottlingInflightRoutePolicy;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.CamelContext camelContext>;
staticinvoke <org.apache.camel.util.ObjectHelper: java.lang.Object notNull(java.lang.Object,java.lang.String,java.lang.Object)>(v, "CamelContext", v);
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope scope>;
v = <org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope: org.apache.camel.impl.ThrottlingInflightRoutePolicy$ThrottlingScope Context>;
if v != v goto label;
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.CamelContext camelContext>;
v = interfaceinvoke v.<org.apache.camel.CamelContext: org.apache.camel.spi.ManagementStrategy getManagementStrategy()>();
v = v.<org.apache.camel.impl.ThrottlingInflightRoutePolicy: org.apache.camel.impl.ThrottlingInflightRoutePolicy$ContextScopedEventNotifier eventNotifier>;
interfaceinvoke v.<org.apache.camel.spi.ManagementStrategy: boolean removeEventNotifier(org.apache.camel.spi.EventNotifier)>(v);
label:
return;
}
}