public class org.apache.camel.impl.RouteService extends org.apache.camel.support.ChildServiceSupport
{
private static final org.slf4j.Logger LOG;
private final org.apache.camel.impl.DefaultCamelContext camelContext;
private final org.apache.camel.model.RouteDefinition routeDefinition;
private final java.util.List routeContexts;
private final java.util.List routes;
private final java.lang.String id;
private boolean removingRoutes;
private final java.util.Map inputs;
private final java.util.concurrent.atomic.AtomicBoolean warmUpDone;
private final java.util.concurrent.atomic.AtomicBoolean endpointDone;
public void <init>(org.apache.camel.impl.DefaultCamelContext, org.apache.camel.model.RouteDefinition, java.util.List, java.util.List)
{
org.apache.camel.model.RouteDefinition v;
org.apache.camel.impl.RouteService v;
java.util.concurrent.atomic.AtomicBoolean v, v;
java.util.HashMap v;
java.util.List v, v;
org.apache.camel.spi.NodeIdFactory v;
java.lang.String v;
org.apache.camel.impl.DefaultCamelContext v;
v := @this: org.apache.camel.impl.RouteService;
v := @parameter: org.apache.camel.impl.DefaultCamelContext;
v := @parameter: org.apache.camel.model.RouteDefinition;
v := @parameter: java.util.List;
v := @parameter: java.util.List;
specialinvoke v.<org.apache.camel.support.ChildServiceSupport: void <init>()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.apache.camel.impl.RouteService: java.util.Map inputs> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.camel.impl.RouteService: java.util.concurrent.atomic.AtomicBoolean warmUpDone> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.camel.impl.RouteService: java.util.concurrent.atomic.AtomicBoolean endpointDone> = v;
v.<org.apache.camel.impl.RouteService: org.apache.camel.impl.DefaultCamelContext camelContext> = v;
v.<org.apache.camel.impl.RouteService: org.apache.camel.model.RouteDefinition routeDefinition> = v;
v.<org.apache.camel.impl.RouteService: java.util.List routeContexts> = v;
v.<org.apache.camel.impl.RouteService: java.util.List routes> = v;
v = virtualinvoke v.<org.apache.camel.impl.DefaultCamelContext: org.apache.camel.spi.NodeIdFactory getNodeIdFactory()>();
v = virtualinvoke v.<org.apache.camel.model.RouteDefinition: java.lang.String idOrCreate(org.apache.camel.spi.NodeIdFactory)>(v);
v.<org.apache.camel.impl.RouteService: java.lang.String id> = v;
return;
}
public java.lang.String getId()
{
java.lang.String v;
org.apache.camel.impl.RouteService v;
v := @this: org.apache.camel.impl.RouteService;
v = v.<org.apache.camel.impl.RouteService: java.lang.String id>;
return v;
}
public org.apache.camel.CamelContext getCamelContext()
{
org.apache.camel.impl.RouteService v;
org.apache.camel.impl.DefaultCamelContext v;
v := @this: org.apache.camel.impl.RouteService;
v = v.<org.apache.camel.impl.RouteService: org.apache.camel.impl.DefaultCamelContext camelContext>;
return v;
}
public java.util.List getRouteContexts()
{
java.util.List v;
org.apache.camel.impl.RouteService v;
v := @this: org.apache.camel.impl.RouteService;
v = v.<org.apache.camel.impl.RouteService: java.util.List routeContexts>;
return v;
}
public org.apache.camel.model.RouteDefinition getRouteDefinition()
{
org.apache.camel.model.RouteDefinition v;
org.apache.camel.impl.RouteService v;
v := @this: org.apache.camel.impl.RouteService;
v = v.<org.apache.camel.impl.RouteService: org.apache.camel.model.RouteDefinition routeDefinition>;
return v;
}
public java.util.Collection getRoutes()
{
java.util.List v;
org.apache.camel.impl.RouteService v;
v := @this: org.apache.camel.impl.RouteService;
v = v.<org.apache.camel.impl.RouteService: java.util.List routes>;
return v;
}
public java.util.Set gatherEndpoints()
{
java.util.Iterator v, v;
org.apache.camel.impl.RouteService v;
java.util.Set v;
org.apache.camel.Endpoint v;
java.util.List v;
org.apache.camel.Service v;
java.lang.Object v, v;
java.util.LinkedHashSet v;
boolean v, v, v;
v := @this: org.apache.camel.impl.RouteService;
v = new java.util.LinkedHashSet;
specialinvoke v.<java.util.LinkedHashSet: void <init>()>();
v = v.<org.apache.camel.impl.RouteService: java.util.List routes>;
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 = specialinvoke v.<org.apache.camel.impl.RouteService: java.util.Set gatherChildServices(org.apache.camel.Route,boolean)>(v, 1);
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v instanceof org.apache.camel.EndpointAware;
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.camel.EndpointAware: org.apache.camel.Endpoint getEndpoint()>();
if v == null goto label;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
}
public java.util.Map getInputs()
{
org.apache.camel.impl.RouteService v;
java.util.Map v;
v := @this: org.apache.camel.impl.RouteService;
v = v.<org.apache.camel.impl.RouteService: java.util.Map inputs>;
return v;
}
public boolean isRemovingRoutes()
{
org.apache.camel.impl.RouteService v;
boolean v;
v := @this: org.apache.camel.impl.RouteService;
v = v.<org.apache.camel.impl.RouteService: boolean removingRoutes>;
return v;
}
public void setRemovingRoutes(boolean)
{
org.apache.camel.impl.RouteService v;
boolean v;
v := @this: org.apache.camel.impl.RouteService;
v := @parameter: boolean;
v.<org.apache.camel.impl.RouteService: boolean removingRoutes> = v;
return;
}
public void warmUp() throws java.lang.Exception
{
org.apache.camel.model.RouteDefinition v, v;
org.apache.camel.impl.RouteService v;
org.apache.camel.FailedToCreateRouteException v;
java.lang.String v, v;
java.lang.Exception v;
v := @this: org.apache.camel.impl.RouteService;
label:
virtualinvoke v.<org.apache.camel.impl.RouteService: void doWarmUp()>();
label:
goto label;
label:
v := @caughtexception;
v = new org.apache.camel.FailedToCreateRouteException;
v = v.<org.apache.camel.impl.RouteService: org.apache.camel.model.RouteDefinition routeDefinition>;
v = virtualinvoke v.<org.apache.camel.model.RouteDefinition: java.lang.String getId()>();
v = v.<org.apache.camel.impl.RouteService: org.apache.camel.model.RouteDefinition routeDefinition>;
v = virtualinvoke v.<org.apache.camel.model.RouteDefinition: java.lang.String toString()>();
specialinvoke v.<org.apache.camel.FailedToCreateRouteException: void <init>(java.lang.String,java.lang.String,java.lang.Throwable)>(v, v, v);
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
}
protected synchronized void doWarmUp() throws java.lang.Exception
{
org.apache.camel.Endpoint v;
java.util.Map v;
org.apache.camel.impl.DefaultCamelContext v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v;
org.apache.camel.impl.RouteService v;
java.util.Set v;
java.util.List v, v, v, v, v, v, v;
org.apache.camel.Service v;
java.lang.Throwable v;
java.util.concurrent.atomic.AtomicBoolean v, v;
java.util.ArrayList v;
java.lang.String v, v, v;
java.util.LinkedHashSet v;
org.slf4j.Logger v;
java.util.Iterator v, v, v, v, v, v;
org.apache.camel.impl.RouteService$MDCHelper v;
org.apache.camel.spi.InflightRepository v;
java.lang.Object v, v, v, v, v, v;
v := @this: org.apache.camel.impl.RouteService;
v = v.<org.apache.camel.impl.RouteService: java.util.concurrent.atomic.AtomicBoolean endpointDone>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
v = v.<org.apache.camel.impl.RouteService: java.util.List routes>;
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.camel.Route: org.apache.camel.Endpoint getEndpoint()>();
staticinvoke <org.apache.camel.util.ServiceHelper: void startService(org.apache.camel.Service)>(v);
goto label;
label:
v = v.<org.apache.camel.impl.RouteService: java.util.concurrent.atomic.AtomicBoolean warmUpDone>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
v = v.<org.apache.camel.impl.RouteService: java.util.List routes>;
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 = new org.apache.camel.impl.RouteService$MDCHelper;
v = interfaceinvoke v.<org.apache.camel.Route: java.lang.String getId()>();
specialinvoke v.<org.apache.camel.impl.RouteService$MDCHelper: void <init>(org.apache.camel.impl.RouteService,java.lang.String)>(v, v);
label:
interfaceinvoke v.<org.apache.camel.Route: void warmUp()>();
v = <org.apache.camel.impl.RouteService: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.apache.camel.Route: java.lang.String getId()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Starting services on route: {}", v);
v = interfaceinvoke v.<org.apache.camel.Route: java.util.List getServices()>();
interfaceinvoke v.<org.apache.camel.Route: void onStartingServices(java.util.List)>(v);
v = new java.util.LinkedHashSet;
specialinvoke v.<java.util.LinkedHashSet: void <init>()>();
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 = staticinvoke <org.apache.camel.util.ServiceHelper: java.util.Set getChildServices(org.apache.camel.Service)>(v);
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
goto label;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v instanceof org.apache.camel.RouteAware;
if v == 0 goto label;
interfaceinvoke v.<org.apache.camel.RouteAware: void setRoute(org.apache.camel.Route)>(v);
label:
v = v instanceof org.apache.camel.Consumer;
if v == 0 goto label;
v = v.<org.apache.camel.impl.RouteService: java.util.Map inputs>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
virtualinvoke v.<org.apache.camel.impl.RouteService: void startChildService(org.apache.camel.Route,java.util.List)>(v, v);
v = v.<org.apache.camel.impl.RouteService: org.apache.camel.impl.DefaultCamelContext camelContext>;
staticinvoke <org.apache.camel.util.EventHelper: boolean notifyRouteAdded(org.apache.camel.CamelContext,org.apache.camel.Route)>(v, v);
label:
virtualinvoke v.<org.apache.camel.impl.RouteService$MDCHelper: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v = v.<org.apache.camel.impl.RouteService: org.apache.camel.impl.DefaultCamelContext camelContext>;
v = virtualinvoke v.<org.apache.camel.impl.DefaultCamelContext: java.util.List getLifecycleStrategies()>();
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 = v.<org.apache.camel.impl.RouteService: java.util.List routes>;
interfaceinvoke v.<org.apache.camel.spi.LifecycleStrategy: void onRoutesAdd(java.util.Collection)>(v);
goto label;
label:
v = v.<org.apache.camel.impl.RouteService: org.apache.camel.impl.DefaultCamelContext camelContext>;
v = v.<org.apache.camel.impl.RouteService: java.util.List routes>;
virtualinvoke v.<org.apache.camel.impl.DefaultCamelContext: void addRouteCollection(java.util.Collection)>(v);
v = v.<org.apache.camel.impl.RouteService: java.util.List routes>;
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 = v.<org.apache.camel.impl.RouteService: org.apache.camel.impl.DefaultCamelContext camelContext>;
v = virtualinvoke v.<org.apache.camel.impl.DefaultCamelContext: org.apache.camel.spi.InflightRepository getInflightRepository()>();
v = interfaceinvoke v.<org.apache.camel.Route: java.lang.String getId()>();
interfaceinvoke v.<org.apache.camel.spi.InflightRepository: void addRoute(java.lang.String)>(v);
goto label;
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected void doStart() throws java.lang.Exception
{
java.lang.Throwable v;
java.lang.String v;
org.apache.camel.impl.DefaultCamelContext v;
boolean v, v;
java.util.Iterator v, v;
org.apache.camel.impl.RouteService v;
org.apache.camel.impl.RouteService$MDCHelper v;
java.util.List v, v, v;
java.lang.Object v, v;
org.apache.camel.spi.RouteContext v, v;
v := @this: org.apache.camel.impl.RouteService;
virtualinvoke v.<org.apache.camel.impl.RouteService: void warmUp()>();
v = v.<org.apache.camel.impl.RouteService: java.util.List routes>;
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 = new org.apache.camel.impl.RouteService$MDCHelper;
v = interfaceinvoke v.<org.apache.camel.Route: java.lang.String getId()>();
specialinvoke v.<org.apache.camel.impl.RouteService$MDCHelper: void <init>(org.apache.camel.impl.RouteService,java.lang.String)>(v, v);
label:
staticinvoke <org.apache.camel.util.ServiceHelper: void startService(java.lang.Object)>(v);
v = interfaceinvoke v.<org.apache.camel.Route: org.apache.camel.spi.RouteContext getRouteContext()>();
v = interfaceinvoke v.<org.apache.camel.spi.RouteContext: java.util.List getRoutePolicyList()>();
if v == null goto label;
v = interfaceinvoke v.<org.apache.camel.Route: org.apache.camel.spi.RouteContext getRouteContext()>();
v = interfaceinvoke v.<org.apache.camel.spi.RouteContext: java.util.List getRoutePolicyList()>();
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()>();
interfaceinvoke v.<org.apache.camel.spi.RoutePolicy: void onStart(org.apache.camel.Route)>(v);
goto label;
label:
v = v.<org.apache.camel.impl.RouteService: org.apache.camel.impl.DefaultCamelContext camelContext>;
staticinvoke <org.apache.camel.util.EventHelper: boolean notifyRouteStarted(org.apache.camel.CamelContext,org.apache.camel.Route)>(v, v);
label:
virtualinvoke v.<org.apache.camel.impl.RouteService$MDCHelper: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected void doStop() throws java.lang.Exception
{
org.apache.camel.impl.DefaultCamelContext v, v, v, v;
boolean v, v, v, v, v, v;
org.apache.camel.impl.RouteService v;
java.util.Set v;
java.util.List v, v, v, v, v, v;
org.apache.camel.spi.RouteContext v, v;
java.lang.Throwable v;
java.lang.Object[] v, v;
java.util.concurrent.atomic.AtomicBoolean v;
java.lang.String v, v;
org.slf4j.Logger v;
java.util.Iterator v, v, v;
org.apache.camel.impl.RouteService$MDCHelper v;
java.lang.Object v, v, v;
v := @this: org.apache.camel.impl.RouteService;
v = v.<org.apache.camel.impl.RouteService: org.apache.camel.impl.DefaultCamelContext camelContext>;
v = virtualinvoke v.<org.apache.camel.impl.DefaultCamelContext: boolean isStopping()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.camel.impl.RouteService: boolean isRemovingRoutes()>();
if v == 0 goto label;
label:
v = v.<org.apache.camel.impl.RouteService: org.apache.camel.impl.DefaultCamelContext camelContext>;
v = virtualinvoke v.<org.apache.camel.impl.DefaultCamelContext: java.util.List getLifecycleStrategies()>();
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 = v.<org.apache.camel.impl.RouteService: java.util.List routes>;
interfaceinvoke v.<org.apache.camel.spi.LifecycleStrategy: void onRoutesRemove(java.util.Collection)>(v);
goto label;
label:
v = v.<org.apache.camel.impl.RouteService: java.util.List routes>;
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 = new org.apache.camel.impl.RouteService$MDCHelper;
v = interfaceinvoke v.<org.apache.camel.Route: java.lang.String getId()>();
specialinvoke v.<org.apache.camel.impl.RouteService$MDCHelper: void <init>(org.apache.camel.impl.RouteService,java.lang.String)>(v, v);
label:
v = <org.apache.camel.impl.RouteService: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.apache.camel.Route: java.lang.String getId()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Stopping services on route: {}", v);
v = specialinvoke v.<org.apache.camel.impl.RouteService: java.util.Set gatherChildServices(org.apache.camel.Route,boolean)>(v, 1);
virtualinvoke v.<org.apache.camel.impl.RouteService: void stopChildService(org.apache.camel.Route,java.util.Set,boolean)>(v, v, v);
if v == 0 goto label;
v = newarray (java.lang.Object)[1];
v[0] = v;
staticinvoke <org.apache.camel.util.ServiceHelper: void stopAndShutdownServices(java.lang.Object[])>(v);
goto label;
label:
v = newarray (java.lang.Object)[1];
v[0] = v;
staticinvoke <org.apache.camel.util.ServiceHelper: void stopServices(java.lang.Object[])>(v);
label:
v = interfaceinvoke v.<org.apache.camel.Route: org.apache.camel.spi.RouteContext getRouteContext()>();
v = interfaceinvoke v.<org.apache.camel.spi.RouteContext: java.util.List getRoutePolicyList()>();
if v == null goto label;
v = interfaceinvoke v.<org.apache.camel.Route: org.apache.camel.spi.RouteContext getRouteContext()>();
v = interfaceinvoke v.<org.apache.camel.spi.RouteContext: java.util.List getRoutePolicyList()>();
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()>();
interfaceinvoke v.<org.apache.camel.spi.RoutePolicy: void onStop(org.apache.camel.Route)>(v);
goto label;
label:
v = v.<org.apache.camel.impl.RouteService: org.apache.camel.impl.DefaultCamelContext camelContext>;
staticinvoke <org.apache.camel.util.EventHelper: boolean notifyRouteStopped(org.apache.camel.CamelContext,org.apache.camel.Route)>(v, v);
label:
virtualinvoke v.<org.apache.camel.impl.RouteService$MDCHelper: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v = virtualinvoke v.<org.apache.camel.impl.RouteService: boolean isRemovingRoutes()>();
if v == 0 goto label;
v = v.<org.apache.camel.impl.RouteService: org.apache.camel.impl.DefaultCamelContext camelContext>;
v = v.<org.apache.camel.impl.RouteService: java.util.List routes>;
virtualinvoke v.<org.apache.camel.impl.DefaultCamelContext: void removeRouteCollection(java.util.Collection)>(v);
label:
v = v.<org.apache.camel.impl.RouteService: java.util.concurrent.atomic.AtomicBoolean warmUpDone>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
return;
catch java.lang.Throwable from label to label with label;
}
protected void doShutdown() throws java.lang.Exception
{
org.apache.camel.Endpoint v;
java.util.Map v;
org.apache.camel.impl.DefaultCamelContext v, v, v, v;
boolean v, v, v, v;
org.apache.camel.impl.RouteService v;
java.util.Set v;
java.util.List v, v, v, v, v, v, v;
org.apache.camel.spi.RouteContext v, v;
java.lang.Throwable v;
java.lang.Object[] v, v;
java.util.concurrent.atomic.AtomicBoolean v, v;
java.lang.String v, v, v;
org.slf4j.Logger v;
java.util.Iterator v, v, v, v;
org.apache.camel.impl.RouteService$MDCHelper v;
org.apache.camel.spi.InflightRepository v;
java.lang.Object v, v, v, v;
v := @this: org.apache.camel.impl.RouteService;
v = v.<org.apache.camel.impl.RouteService: java.util.List routes>;
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 = new org.apache.camel.impl.RouteService$MDCHelper;
v = interfaceinvoke v.<org.apache.camel.Route: java.lang.String getId()>();
specialinvoke v.<org.apache.camel.impl.RouteService$MDCHelper: void <init>(org.apache.camel.impl.RouteService,java.lang.String)>(v, v);
label:
v = <org.apache.camel.impl.RouteService: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.apache.camel.Route: java.lang.String getId()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object)>("Shutting down services on route: {}", v);
v = specialinvoke v.<org.apache.camel.impl.RouteService: java.util.Set gatherChildServices(org.apache.camel.Route,boolean)>(v, 1);
virtualinvoke v.<org.apache.camel.impl.RouteService: void stopChildService(org.apache.camel.Route,java.util.Set,boolean)>(v, v, 1);
v = newarray (java.lang.Object)[1];
v[0] = v;
staticinvoke <org.apache.camel.util.ServiceHelper: void stopAndShutdownServices(java.lang.Object[])>(v);
v = newarray (java.lang.Object)[1];
v = interfaceinvoke v.<org.apache.camel.Route: org.apache.camel.Endpoint getEndpoint()>();
v[0] = v;
staticinvoke <org.apache.camel.util.ServiceHelper: void stopAndShutdownServices(java.lang.Object[])>(v);
v = interfaceinvoke v.<org.apache.camel.Route: org.apache.camel.spi.RouteContext getRouteContext()>();
v = interfaceinvoke v.<org.apache.camel.spi.RouteContext: java.util.List getRoutePolicyList()>();
if v == null goto label;
v = interfaceinvoke v.<org.apache.camel.Route: org.apache.camel.spi.RouteContext getRouteContext()>();
v = interfaceinvoke v.<org.apache.camel.spi.RouteContext: java.util.List getRoutePolicyList()>();
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()>();
interfaceinvoke v.<org.apache.camel.spi.RoutePolicy: void onRemove(org.apache.camel.Route)>(v);
goto label;
label:
v = v.<org.apache.camel.impl.RouteService: org.apache.camel.impl.DefaultCamelContext camelContext>;
staticinvoke <org.apache.camel.util.EventHelper: boolean notifyRouteRemoved(org.apache.camel.CamelContext,org.apache.camel.Route)>(v, v);
label:
virtualinvoke v.<org.apache.camel.impl.RouteService$MDCHelper: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v = v.<org.apache.camel.impl.RouteService: org.apache.camel.impl.DefaultCamelContext camelContext>;
v = virtualinvoke v.<org.apache.camel.impl.DefaultCamelContext: java.util.List getLifecycleStrategies()>();
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 = v.<org.apache.camel.impl.RouteService: java.util.List routes>;
interfaceinvoke v.<org.apache.camel.spi.LifecycleStrategy: void onRoutesRemove(java.util.Collection)>(v);
goto label;
label:
v = v.<org.apache.camel.impl.RouteService: java.util.List routes>;
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 = v.<org.apache.camel.impl.RouteService: org.apache.camel.impl.DefaultCamelContext camelContext>;
v = virtualinvoke v.<org.apache.camel.impl.DefaultCamelContext: org.apache.camel.spi.InflightRepository getInflightRepository()>();
v = interfaceinvoke v.<org.apache.camel.Route: java.lang.String getId()>();
interfaceinvoke v.<org.apache.camel.spi.InflightRepository: void removeRoute(java.lang.String)>(v);
goto label;
label:
v = v.<org.apache.camel.impl.RouteService: org.apache.camel.impl.DefaultCamelContext camelContext>;
v = v.<org.apache.camel.impl.RouteService: java.util.List routes>;
virtualinvoke v.<org.apache.camel.impl.DefaultCamelContext: void removeRouteCollection(java.util.Collection)>(v);
v = v.<org.apache.camel.impl.RouteService: java.util.Map inputs>;
interfaceinvoke v.<java.util.Map: void clear()>();
v = v.<org.apache.camel.impl.RouteService: java.util.concurrent.atomic.AtomicBoolean warmUpDone>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.impl.RouteService: java.util.concurrent.atomic.AtomicBoolean endpointDone>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
return;
catch java.lang.Throwable from label to label with label;
}
protected void doSuspend() throws java.lang.Exception
{
java.lang.Throwable v;
java.util.Iterator v, v;
org.apache.camel.impl.RouteService v;
org.apache.camel.impl.RouteService$MDCHelper v;
java.util.List v, v, v;
java.lang.Object v, v;
java.lang.String v;
org.apache.camel.spi.RouteContext v, v;
boolean v, v;
v := @this: org.apache.camel.impl.RouteService;
v = v.<org.apache.camel.impl.RouteService: java.util.List routes>;
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 = new org.apache.camel.impl.RouteService$MDCHelper;
v = interfaceinvoke v.<org.apache.camel.Route: java.lang.String getId()>();
specialinvoke v.<org.apache.camel.impl.RouteService$MDCHelper: void <init>(org.apache.camel.impl.RouteService,java.lang.String)>(v, v);
label:
v = interfaceinvoke v.<org.apache.camel.Route: org.apache.camel.spi.RouteContext getRouteContext()>();
v = interfaceinvoke v.<org.apache.camel.spi.RouteContext: java.util.List getRoutePolicyList()>();
if v == null goto label;
v = interfaceinvoke v.<org.apache.camel.Route: org.apache.camel.spi.RouteContext getRouteContext()>();
v = interfaceinvoke v.<org.apache.camel.spi.RouteContext: java.util.List getRoutePolicyList()>();
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()>();
interfaceinvoke v.<org.apache.camel.spi.RoutePolicy: void onSuspend(org.apache.camel.Route)>(v);
goto label;
label:
virtualinvoke v.<org.apache.camel.impl.RouteService$MDCHelper: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected void doResume() throws java.lang.Exception
{
java.lang.Throwable v;
java.util.Iterator v, v;
org.apache.camel.impl.RouteService v;
org.apache.camel.impl.RouteService$MDCHelper v;
java.util.List v, v, v;
java.lang.Object v, v;
java.lang.String v;
org.apache.camel.spi.RouteContext v, v;
boolean v, v;
v := @this: org.apache.camel.impl.RouteService;
v = v.<org.apache.camel.impl.RouteService: java.util.List routes>;
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 = new org.apache.camel.impl.RouteService$MDCHelper;
v = interfaceinvoke v.<org.apache.camel.Route: java.lang.String getId()>();
specialinvoke v.<org.apache.camel.impl.RouteService$MDCHelper: void <init>(org.apache.camel.impl.RouteService,java.lang.String)>(v, v);
label:
v = interfaceinvoke v.<org.apache.camel.Route: org.apache.camel.spi.RouteContext getRouteContext()>();
v = interfaceinvoke v.<org.apache.camel.spi.RouteContext: java.util.List getRoutePolicyList()>();
if v == null goto label;
v = interfaceinvoke v.<org.apache.camel.Route: org.apache.camel.spi.RouteContext getRouteContext()>();
v = interfaceinvoke v.<org.apache.camel.spi.RouteContext: java.util.List getRoutePolicyList()>();
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()>();
interfaceinvoke v.<org.apache.camel.spi.RoutePolicy: void onResume(org.apache.camel.Route)>(v);
goto label;
label:
virtualinvoke v.<org.apache.camel.impl.RouteService$MDCHelper: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
protected void startChildService(org.apache.camel.Route, java.util.List) throws java.lang.Exception
{
org.apache.camel.Route v;
org.slf4j.Logger v;
java.util.Iterator v, v;
org.apache.camel.impl.RouteService v;
java.util.List v, v;
java.lang.Object v, v;
java.lang.String v;
org.apache.camel.impl.DefaultCamelContext v, v;
boolean v, v;
v := @this: org.apache.camel.impl.RouteService;
v := @parameter: org.apache.camel.Route;
v := @parameter: java.util.List;
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.camel.impl.RouteService: org.slf4j.Logger LOG>;
v = interfaceinvoke v.<org.apache.camel.Route: java.lang.String getId()>();
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Starting child service on route: {} -> {}", v, v);
v = v.<org.apache.camel.impl.RouteService: org.apache.camel.impl.DefaultCamelContext camelContext>;
v = virtualinvoke v.<org.apache.camel.impl.DefaultCamelContext: java.util.List getLifecycleStrategies()>();
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 = v.<org.apache.camel.impl.RouteService: org.apache.camel.impl.DefaultCamelContext camelContext>;
interfaceinvoke v.<org.apache.camel.spi.LifecycleStrategy: void onServiceAdd(org.apache.camel.CamelContext,org.apache.camel.Service,org.apache.camel.Route)>(v, v, v);
goto label;
label:
staticinvoke <org.apache.camel.util.ServiceHelper: void startService(org.apache.camel.Service)>(v);
virtualinvoke v.<org.apache.camel.impl.RouteService: void addChildService(java.lang.Object)>(v);
goto label;
label:
return;
}
protected void stopChildService(org.apache.camel.Route, java.util.Set, boolean) throws java.lang.Exception
{
java.lang.Object[] v;
org.apache.camel.Route v;
java.lang.String v, v;
org.apache.camel.impl.DefaultCamelContext v, v, v;
boolean v, v, v, v, v;
org.apache.camel.model.RouteDefinition v;
org.slf4j.Logger v;
java.util.Iterator v, v, v;
org.apache.camel.impl.RouteService v;
java.util.Set v;
org.apache.camel.ErrorHandlerFactory v;
java.util.List v, v;
org.apache.camel.Service v;
java.lang.Object v, v, v;
org.apache.camel.spi.RouteContext v, v;
v := @this: org.apache.camel.impl.RouteService;
v := @parameter: org.apache.camel.Route;
v := @parameter: java.util.Set;
v := @parameter: boolean;
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 = <org.apache.camel.impl.RouteService: org.slf4j.Logger LOG>;
v = newarray (java.lang.Object)[3];
if v == 0 goto label;
v = "Shutting down";
goto label;
label:
v = "Stopping";
label:
v[0] = v;
v = interfaceinvoke v.<org.apache.camel.Route: java.lang.String getId()>();
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object[])>("{} child service on route: {} -> {}", v);
v = v instanceof org.apache.camel.processor.ErrorHandler;
if v == 0 goto label;
v = v.<org.apache.camel.impl.RouteService: org.apache.camel.impl.DefaultCamelContext camelContext>;
v = virtualinvoke v.<org.apache.camel.impl.DefaultCamelContext: java.util.List getLifecycleStrategies()>();
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.camel.Route: org.apache.camel.spi.RouteContext getRouteContext()>();
v = interfaceinvoke v.<org.apache.camel.Route: org.apache.camel.spi.RouteContext getRouteContext()>();
v = interfaceinvoke v.<org.apache.camel.spi.RouteContext: org.apache.camel.model.RouteDefinition getRoute()>();
v = virtualinvoke v.<org.apache.camel.model.RouteDefinition: org.apache.camel.ErrorHandlerFactory getErrorHandlerBuilder()>();
interfaceinvoke v.<org.apache.camel.spi.LifecycleStrategy: void onErrorHandlerRemove(org.apache.camel.spi.RouteContext,org.apache.camel.Processor,org.apache.camel.ErrorHandlerFactory)>(v, v, v);
goto label;
label:
v = v.<org.apache.camel.impl.RouteService: org.apache.camel.impl.DefaultCamelContext camelContext>;
v = virtualinvoke v.<org.apache.camel.impl.DefaultCamelContext: java.util.List getLifecycleStrategies()>();
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 = v.<org.apache.camel.impl.RouteService: org.apache.camel.impl.DefaultCamelContext camelContext>;
interfaceinvoke v.<org.apache.camel.spi.LifecycleStrategy: void onServiceRemove(org.apache.camel.CamelContext,org.apache.camel.Service,org.apache.camel.Route)>(v, v, v);
goto label;
label:
if v == 0 goto label;
staticinvoke <org.apache.camel.util.ServiceHelper: void stopAndShutdownService(java.lang.Object)>(v);
goto label;
label:
staticinvoke <org.apache.camel.util.ServiceHelper: void stopService(java.lang.Object)>(v);
label:
virtualinvoke v.<org.apache.camel.impl.RouteService: boolean removeChildService(java.lang.Object)>(v);
goto label;
label:
return;
}
private java.util.Set gatherChildServices(org.apache.camel.Route, boolean)
{
org.apache.camel.Route v;
java.util.Iterator v;
org.apache.camel.impl.RouteService v;
java.util.Set v;
java.util.ArrayList v;
java.util.List v;
java.lang.Object v;
java.util.LinkedHashSet v, v;
boolean v, v;
v := @this: org.apache.camel.impl.RouteService;
v := @parameter: org.apache.camel.Route;
v := @parameter: boolean;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<org.apache.camel.Route: java.util.List getServices()>();
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
specialinvoke v.<org.apache.camel.impl.RouteService: void doGetRouteScopedServices(java.util.List,org.apache.camel.Route)>(v, v);
v = new java.util.LinkedHashSet;
specialinvoke v.<java.util.LinkedHashSet: void <init>()>();
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 = staticinvoke <org.apache.camel.util.ServiceHelper: java.util.Set getChildServices(org.apache.camel.Service)>(v);
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
goto label;
label:
if v == 0 goto label;
specialinvoke v.<org.apache.camel.impl.RouteService: void doGetRouteScopedErrorHandler(java.util.Set,org.apache.camel.Route)>(v, v);
label:
v = new java.util.LinkedHashSet;
specialinvoke v.<java.util.LinkedHashSet: void <init>()>();
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
return v;
}
private void doGetRouteScopedErrorHandler(java.util.Set, org.apache.camel.Route)
{
org.apache.camel.Route v;
java.util.ArrayList v;
org.apache.camel.Processor v;
boolean v, v, v, v, v, v;
org.apache.camel.model.RouteDefinition v;
org.apache.camel.CamelContext v;
java.util.Iterator v;
org.apache.camel.impl.RouteService v;
java.util.Set v;
org.apache.camel.Service v;
java.lang.Object v;
org.apache.camel.spi.RouteContext v;
v := @this: org.apache.camel.impl.RouteService;
v := @parameter: java.util.Set;
v := @parameter: org.apache.camel.Route;
v = v.<org.apache.camel.impl.RouteService: org.apache.camel.model.RouteDefinition routeDefinition>;
v = interfaceinvoke v.<org.apache.camel.Route: org.apache.camel.spi.RouteContext getRouteContext()>();
v = interfaceinvoke v.<org.apache.camel.spi.RouteContext: org.apache.camel.CamelContext getCamelContext()>();
v = virtualinvoke v.<org.apache.camel.model.RouteDefinition: boolean isContextScopedErrorHandler(org.apache.camel.CamelContext)>(v);
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v instanceof org.apache.camel.Channel;
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.camel.Channel: org.apache.camel.Processor getErrorHandler()>();
v = v instanceof org.apache.camel.Service;
if v == 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
label:
return;
}
private void doGetRouteScopedServices(java.util.List, org.apache.camel.Route)
{
org.apache.camel.Route v;
org.apache.camel.model.ProcessorDefinition v;
org.apache.camel.Processor v, v;
java.lang.String v, v;
boolean v, v, v, v, v, v, v;
org.apache.camel.model.RouteDefinition v;
java.util.Iterator v;
org.apache.camel.impl.RouteService v;
java.util.List v, v;
java.lang.Object v;
org.apache.camel.spi.RouteContext v;
v := @this: org.apache.camel.impl.RouteService;
v := @parameter: java.util.List;
v := @parameter: org.apache.camel.Route;
v = interfaceinvoke v.<org.apache.camel.Route: org.apache.camel.spi.RouteContext getRouteContext()>();
v = interfaceinvoke v.<org.apache.camel.spi.RouteContext: org.apache.camel.model.RouteDefinition getRoute()>();
v = virtualinvoke v.<org.apache.camel.model.RouteDefinition: java.util.List getOutputs()>();
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 = v instanceof org.apache.camel.model.OnExceptionDefinition;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.camel.model.OnExceptionDefinition: boolean isRouteScoped()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.camel.Route: java.lang.String getId()>();
v = virtualinvoke v.<org.apache.camel.model.OnExceptionDefinition: org.apache.camel.Processor getErrorHandler(java.lang.String)>(v);
v = v instanceof org.apache.camel.Service;
if v == 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = v instanceof org.apache.camel.model.OnCompletionDefinition;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.camel.model.OnCompletionDefinition: boolean isRouteScoped()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.camel.Route: java.lang.String getId()>();
v = virtualinvoke v.<org.apache.camel.model.OnCompletionDefinition: org.apache.camel.Processor getOnCompletion(java.lang.String)>(v);
v = v instanceof org.apache.camel.Service;
if v == 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/camel/impl/RouteService;");
<org.apache.camel.impl.RouteService: org.slf4j.Logger LOG> = v;
return;
}
}