public abstract class org.apache.camel.support.ServiceSupport extends java.lang.Object implements org.apache.camel.StatefulService
{
private static final org.slf4j.Logger LOG;
protected final java.util.concurrent.atomic.AtomicBoolean started;
protected final java.util.concurrent.atomic.AtomicBoolean starting;
protected final java.util.concurrent.atomic.AtomicBoolean stopping;
protected final java.util.concurrent.atomic.AtomicBoolean stopped;
protected final java.util.concurrent.atomic.AtomicBoolean suspending;
protected final java.util.concurrent.atomic.AtomicBoolean suspended;
protected final java.util.concurrent.atomic.AtomicBoolean shuttingdown;
protected final java.util.concurrent.atomic.AtomicBoolean shutdown;
private java.lang.String version;
public void <init>()
{
java.util.concurrent.atomic.AtomicBoolean v, v, v, v, v, v, v, v;
org.apache.camel.support.ServiceSupport v;
v := @this: org.apache.camel.support.ServiceSupport;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean started> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean starting> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopping> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopped> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspending> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspended> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shuttingdown> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shutdown> = v;
return;
}
public void start() throws java.lang.Exception
{
boolean v, v, v;
java.lang.Exception v, v;
java.lang.Throwable v;
java.util.concurrent.atomic.AtomicBoolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.slf4j.Logger v, v;
org.apache.camel.support.ServiceSupport v;
v := @this: org.apache.camel.support.ServiceSupport;
v = virtualinvoke v.<org.apache.camel.support.ServiceSupport: boolean isStarting()>();
if v != 0 goto label;
v = virtualinvoke v.<org.apache.camel.support.ServiceSupport: boolean isStarted()>();
if v == 0 goto label;
label:
v = <org.apache.camel.support.ServiceSupport: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>("Service already started");
return;
label:
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean starting>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
v = <org.apache.camel.support.ServiceSupport: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>("Starting service");
label:
virtualinvoke v.<org.apache.camel.support.ServiceSupport: void doStart()>();
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean started>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(1);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean starting>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopping>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopped>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspending>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspended>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shutdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shuttingdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
label:
goto label;
label:
v := @caughtexception;
label:
virtualinvoke v.<org.apache.camel.support.ServiceSupport: void stop()>();
label:
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopping>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopped>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(1);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean starting>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean started>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspending>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspended>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shutdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shuttingdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
goto label;
label:
v := @caughtexception;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopping>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopped>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(1);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean starting>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean started>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspending>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspended>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shutdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shuttingdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
goto label;
label:
v := @caughtexception;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopping>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopped>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(1);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean starting>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean started>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspending>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspended>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shutdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shuttingdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
throw v;
label:
throw v;
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.Throwable from label to label with label;
}
public void stop() throws java.lang.Exception
{
java.lang.Throwable v;
java.util.concurrent.atomic.AtomicBoolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v;
org.slf4j.Logger v, v;
org.apache.camel.support.ServiceSupport v;
v := @this: org.apache.camel.support.ServiceSupport;
v = virtualinvoke v.<org.apache.camel.support.ServiceSupport: boolean isStopped()>();
if v == 0 goto label;
v = <org.apache.camel.support.ServiceSupport: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>("Service already stopped");
return;
label:
v = virtualinvoke v.<org.apache.camel.support.ServiceSupport: boolean isStopping()>();
if v == 0 goto label;
v = <org.apache.camel.support.ServiceSupport: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>("Service already stopping");
return;
label:
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopping>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(1);
label:
virtualinvoke v.<org.apache.camel.support.ServiceSupport: void doStop()>();
label:
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopping>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopped>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(1);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean starting>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean started>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspending>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspended>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shutdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shuttingdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
goto label;
label:
v := @caughtexception;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopping>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopped>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(1);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean starting>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean started>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspending>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspended>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shutdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shuttingdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void suspend() throws java.lang.Exception
{
java.lang.Throwable v;
java.util.concurrent.atomic.AtomicBoolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v;
org.apache.camel.support.ServiceSupport v;
v := @this: org.apache.camel.support.ServiceSupport;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspended>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspending>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
label:
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean starting>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopping>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
virtualinvoke v.<org.apache.camel.support.ServiceSupport: void doSuspend()>();
label:
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopped>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopping>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean starting>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean started>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspending>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspended>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(1);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shutdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shuttingdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
goto label;
label:
v := @caughtexception;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopped>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopping>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean starting>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean started>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspending>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspended>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(1);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shutdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shuttingdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void resume() throws java.lang.Exception
{
java.lang.Throwable v;
java.util.concurrent.atomic.AtomicBoolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v;
org.apache.camel.support.ServiceSupport v;
v := @this: org.apache.camel.support.ServiceSupport;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspended>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean starting>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
label:
virtualinvoke v.<org.apache.camel.support.ServiceSupport: void doResume()>();
label:
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean started>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(1);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean starting>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopping>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopped>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspending>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspended>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shutdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shuttingdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
goto label;
label:
v := @caughtexception;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean started>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(1);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean starting>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopping>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopped>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspending>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspended>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shutdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shuttingdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void shutdown() throws java.lang.Exception
{
java.lang.Throwable v;
org.slf4j.Logger v;
java.util.concurrent.atomic.AtomicBoolean v, v, v, v, v, v;
org.apache.camel.support.ServiceSupport v;
boolean v, v;
v := @this: org.apache.camel.support.ServiceSupport;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shutdown>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
v = <org.apache.camel.support.ServiceSupport: org.slf4j.Logger LOG>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>("Service already shut down");
return;
label:
virtualinvoke v.<org.apache.camel.support.ServiceSupport: void stop()>();
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shuttingdown>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean compareAndSet(boolean,boolean)>(0, 1);
if v == 0 goto label;
label:
virtualinvoke v.<org.apache.camel.support.ServiceSupport: void doShutdown()>();
label:
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shutdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(1);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shuttingdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
goto label;
label:
v := @caughtexception;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shutdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(1);
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shuttingdown>;
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(0);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public org.apache.camel.ServiceStatus getStatus()
{
org.apache.camel.support.ServiceSupport v;
org.apache.camel.ServiceStatus v, v, v, v, v, v, v;
boolean v, v, v, v, v, v;
v := @this: org.apache.camel.support.ServiceSupport;
v = virtualinvoke v.<org.apache.camel.support.ServiceSupport: boolean isStarting()>();
if v == 0 goto label;
v = <org.apache.camel.ServiceStatus: org.apache.camel.ServiceStatus Starting>;
return v;
label:
v = virtualinvoke v.<org.apache.camel.support.ServiceSupport: boolean isStopping()>();
if v == 0 goto label;
v = <org.apache.camel.ServiceStatus: org.apache.camel.ServiceStatus Stopping>;
return v;
label:
v = virtualinvoke v.<org.apache.camel.support.ServiceSupport: boolean isSuspending()>();
if v == 0 goto label;
v = <org.apache.camel.ServiceStatus: org.apache.camel.ServiceStatus Suspending>;
return v;
label:
v = virtualinvoke v.<org.apache.camel.support.ServiceSupport: boolean isStarted()>();
if v == 0 goto label;
v = <org.apache.camel.ServiceStatus: org.apache.camel.ServiceStatus Started>;
return v;
label:
v = virtualinvoke v.<org.apache.camel.support.ServiceSupport: boolean isStopped()>();
if v == 0 goto label;
v = <org.apache.camel.ServiceStatus: org.apache.camel.ServiceStatus Stopped>;
return v;
label:
v = virtualinvoke v.<org.apache.camel.support.ServiceSupport: boolean isSuspended()>();
if v == 0 goto label;
v = <org.apache.camel.ServiceStatus: org.apache.camel.ServiceStatus Suspended>;
return v;
label:
v = <org.apache.camel.ServiceStatus: org.apache.camel.ServiceStatus Stopped>;
return v;
}
public boolean isStarted()
{
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.camel.support.ServiceSupport v;
boolean v;
v := @this: org.apache.camel.support.ServiceSupport;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean started>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
return v;
}
public boolean isStarting()
{
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.camel.support.ServiceSupport v;
boolean v;
v := @this: org.apache.camel.support.ServiceSupport;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean starting>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
return v;
}
public boolean isStopping()
{
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.camel.support.ServiceSupport v;
boolean v;
v := @this: org.apache.camel.support.ServiceSupport;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopping>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
return v;
}
public boolean isStopped()
{
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.camel.support.ServiceSupport v;
boolean v;
v := @this: org.apache.camel.support.ServiceSupport;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopped>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
return v;
}
public boolean isSuspending()
{
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.camel.support.ServiceSupport v;
boolean v;
v := @this: org.apache.camel.support.ServiceSupport;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspending>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
return v;
}
public boolean isSuspended()
{
java.util.concurrent.atomic.AtomicBoolean v;
org.apache.camel.support.ServiceSupport v;
boolean v;
v := @this: org.apache.camel.support.ServiceSupport;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspended>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
return v;
}
public boolean isRunAllowed()
{
java.util.concurrent.atomic.AtomicBoolean v, v, v, v, v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.camel.support.ServiceSupport v;
v := @this: org.apache.camel.support.ServiceSupport;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean started>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean starting>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopping>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopped>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspending>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspended>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shutdown>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean shuttingdown>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
if v == 0 goto label;
return 0;
label:
v = virtualinvoke v.<org.apache.camel.support.ServiceSupport: boolean isStoppingOrStopped()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean isStoppingOrStopped()
{
java.util.concurrent.atomic.AtomicBoolean v, v;
org.apache.camel.support.ServiceSupport v;
boolean v, v, v;
v := @this: org.apache.camel.support.ServiceSupport;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopping>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean stopped>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean isSuspendingOrSuspended()
{
java.util.concurrent.atomic.AtomicBoolean v, v;
org.apache.camel.support.ServiceSupport v;
boolean v, v, v;
v := @this: org.apache.camel.support.ServiceSupport;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspending>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v != 0 goto label;
v = v.<org.apache.camel.support.ServiceSupport: java.util.concurrent.atomic.AtomicBoolean suspended>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
protected abstract void doStart() throws java.lang.Exception;
protected abstract void doStop() throws java.lang.Exception;
protected void doSuspend() throws java.lang.Exception
{
org.apache.camel.support.ServiceSupport v;
v := @this: org.apache.camel.support.ServiceSupport;
return;
}
protected void doResume() throws java.lang.Exception
{
org.apache.camel.support.ServiceSupport v;
v := @this: org.apache.camel.support.ServiceSupport;
return;
}
protected void doShutdown() throws java.lang.Exception
{
org.apache.camel.support.ServiceSupport v;
v := @this: org.apache.camel.support.ServiceSupport;
return;
}
public synchronized java.lang.String getVersion()
{
java.lang.Throwable v;
java.lang.String v, v, v, v, v, v, v, v, v;
java.util.Properties v;
java.lang.Package v;
java.lang.Exception v;
java.lang.Class v, v;
org.apache.camel.support.ServiceSupport v;
java.io.InputStream v;
v := @this: org.apache.camel.support.ServiceSupport;
v = v.<org.apache.camel.support.ServiceSupport: java.lang.String version>;
if v == null goto label;
v = v.<org.apache.camel.support.ServiceSupport: java.lang.String version>;
return v;
label:
v = null;
label:
v = new java.util.Properties;
specialinvoke v.<java.util.Properties: void <init>()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.io.InputStream getResourceAsStream(java.lang.String)>("/META-INF/maven/org.apache.camel/camel-core/pom.properties");
if v == null goto label;
virtualinvoke v.<java.util.Properties: void load(java.io.InputStream)>(v);
v = virtualinvoke v.<java.util.Properties: java.lang.String getProperty(java.lang.String,java.lang.String)>("version", "");
v.<org.apache.camel.support.ServiceSupport: java.lang.String version> = v;
label:
if v == null goto label;
staticinvoke <org.apache.camel.util.IOHelper: void close(java.io.Closeable)>(v);
goto label;
label:
v := @caughtexception;
if v == null goto label;
staticinvoke <org.apache.camel.util.IOHelper: void close(java.io.Closeable)>(v);
goto label;
label:
v := @caughtexception;
if v == null goto label;
staticinvoke <org.apache.camel.util.IOHelper: void close(java.io.Closeable)>(v);
label:
throw v;
label:
v = v.<org.apache.camel.support.ServiceSupport: java.lang.String version>;
if v != null goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.Package getPackage()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.Package: java.lang.String getImplementationVersion()>();
v.<org.apache.camel.support.ServiceSupport: java.lang.String version> = v;
v = v.<org.apache.camel.support.ServiceSupport: java.lang.String version>;
if v != null goto label;
v = virtualinvoke v.<java.lang.Package: java.lang.String getSpecificationVersion()>();
v.<org.apache.camel.support.ServiceSupport: java.lang.String version> = v;
label:
v = v.<org.apache.camel.support.ServiceSupport: java.lang.String version>;
if v != null goto label;
v.<org.apache.camel.support.ServiceSupport: java.lang.String version> = "";
label:
v = v.<org.apache.camel.support.ServiceSupport: java.lang.String version>;
return v;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/camel/support/ServiceSupport;");
<org.apache.camel.support.ServiceSupport: org.slf4j.Logger LOG> = v;
return;
}
}