@ManagedObject(value="Abstract Implementation of LifeCycle") public abstract class AbstractLifeCycle extends java.lang.Object implements LifeCycle
Modifier and Type | Class and Description |
---|---|
static class |
AbstractLifeCycle.AbstractLifeCycleListener |
LifeCycle.Listener
Modifier and Type | Field and Description |
---|---|
private int |
__FAILED |
private int |
__STARTED |
private int |
__STARTING |
private int |
__STOPPED |
private int |
__STOPPING |
private java.util.concurrent.CopyOnWriteArrayList<LifeCycle.Listener> |
_listeners |
private java.lang.Object |
_lock |
private int |
_state |
private long |
_stopTimeout |
static java.lang.String |
FAILED |
private static Logger |
LOG |
static java.lang.String |
RUNNING |
static java.lang.String |
STARTED |
static java.lang.String |
STARTING |
static LifeCycle.Listener |
STOP_ON_FAILURE
A LifeCycle Listener that will call stop if any failures are notified.
|
static java.lang.String |
STOPPED |
static java.lang.String |
STOPPING |
Constructor and Description |
---|
AbstractLifeCycle() |
Modifier and Type | Method and Description |
---|---|
void |
addLifeCycleListener(LifeCycle.Listener listener) |
protected void |
doStart() |
protected void |
doStop() |
java.lang.String |
getState() |
static java.lang.String |
getState(LifeCycle lc) |
long |
getStopTimeout() |
boolean |
isFailed() |
boolean |
isRunning() |
boolean |
isStarted() |
boolean |
isStarting() |
boolean |
isStopped() |
boolean |
isStopping() |
void |
removeLifeCycleListener(LifeCycle.Listener listener) |
private void |
setFailed(java.lang.Throwable th) |
private void |
setStarted() |
private void |
setStarting() |
private void |
setStopped() |
private void |
setStopping() |
void |
setStopTimeout(long stopTimeout) |
void |
start()
Starts the component.
|
void |
stop()
Stops the component.
|
private static final Logger LOG
public static final java.lang.String STOPPED
public static final java.lang.String FAILED
public static final java.lang.String STARTING
public static final java.lang.String STARTED
public static final java.lang.String STOPPING
public static final java.lang.String RUNNING
private final java.util.concurrent.CopyOnWriteArrayList<LifeCycle.Listener> _listeners
private final java.lang.Object _lock
private final int __FAILED
private final int __STOPPED
private final int __STARTING
private final int __STARTED
private final int __STOPPING
private volatile int _state
private long _stopTimeout
public static final LifeCycle.Listener STOP_ON_FAILURE
protected void doStart() throws java.lang.Exception
java.lang.Exception
protected void doStop() throws java.lang.Exception
java.lang.Exception
public final void start() throws java.lang.Exception
LifeCycle
start
in interface LifeCycle
java.lang.Exception
- If the component fails to startLifeCycle.isStarted()
,
LifeCycle.stop()
,
LifeCycle.isFailed()
public final void stop() throws java.lang.Exception
LifeCycle
stop
in interface LifeCycle
java.lang.Exception
- If the component fails to stopLifeCycle.isStopped()
,
LifeCycle.start()
,
LifeCycle.isFailed()
public boolean isRunning()
public boolean isStarted()
isStarted
in interface LifeCycle
LifeCycle.start()
,
LifeCycle.isStarting()
public boolean isStarting()
isStarting
in interface LifeCycle
LifeCycle.isStarted()
public boolean isStopping()
isStopping
in interface LifeCycle
LifeCycle.isStopped()
public boolean isStopped()
isStopped
in interface LifeCycle
LifeCycle.stop()
,
LifeCycle.isStopping()
public boolean isFailed()
public void addLifeCycleListener(LifeCycle.Listener listener)
addLifeCycleListener
in interface LifeCycle
public void removeLifeCycleListener(LifeCycle.Listener listener)
removeLifeCycleListener
in interface LifeCycle
@ManagedAttribute(value="Lifecycle State for this instance", readonly=true) public java.lang.String getState()
public static java.lang.String getState(LifeCycle lc)
private void setStarted()
private void setStarting()
private void setStopping()
private void setStopped()
private void setFailed(java.lang.Throwable th)
@ManagedAttribute(value="The stop timeout in milliseconds") public long getStopTimeout()
public void setStopTimeout(long stopTimeout)