javadoc.com.google.common.util.concurrent.AbstractService.html Maven / Gradle / Ivy
The newest version!
AbstractService (Guava: Google Core Libraries for Java 11.0.1 API)
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV CLASS
NEXT CLASS
FRAMES
NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD
DETAIL: FIELD | CONSTR | METHOD
com.google.common.util.concurrent
Class AbstractService
java.lang.Object
com.google.common.util.concurrent.AbstractService
- All Implemented Interfaces:
- Service
@Beta
public abstract class AbstractService
- extends Object
- implements Service
Base class for implementing services that can handle doStart()
and
doStop()
requests, responding to them with notifyStarted()
and notifyStopped()
callbacks. Its subclasses must manage threads
manually; consider AbstractExecutionThreadService
if you need only a
single execution thread.
- Since:
- 1.0
- Author:
- Jesse Wilson
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface com.google.common.util.concurrent.Service |
---|
Service.State |
Constructor Summary | |
---|---|
AbstractService()
|
Method Summary | |
---|---|
protected abstract void |
doStart()
This method is called by start() to initiate service startup. |
protected abstract void |
doStop()
This method should be used to initiate service shutdown. |
boolean |
isRunning()
Returns true if this service is running. |
protected void |
notifyFailed(Throwable cause)
Invoke this method to transition the service to the Service.State.FAILED . |
protected void |
notifyStarted()
Implementing classes should invoke this method once their service has started. |
protected void |
notifyStopped()
Implementing classes should invoke this method once their service has stopped. |
ListenableFuture<Service.State> |
start()
If the service state is Service.State.NEW , this initiates service startup
and returns immediately. |
Service.State |
startAndWait()
Initiates service startup (if necessary), returning once the service has finished starting. |
Service.State |
state()
Returns the lifecycle state of the service. |
ListenableFuture<Service.State> |
stop()
If the service is starting or running, this initiates service shutdown and returns immediately. |
Service.State |
stopAndWait()
Initiates service shutdown (if necessary), returning once the service has finished stopping. |
String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
AbstractService
public AbstractService()
Method Detail |
---|
doStart
protected abstract void doStart()
- This method is called by
start()
to initiate service startup. The invocation of this method should cause a call tonotifyStarted()
, either during this method's run, or after it has returned. If startup fails, the invocation should cause a call tonotifyFailed(Throwable)
instead.This method should return promptly; prefer to do work on a different thread where it is convenient. It is invoked exactly once on service startup, even when
start()
is called multiple times.
doStop
protected abstract void doStop()
- This method should be used to initiate service shutdown. The invocation
of this method should cause a call to
notifyStopped()
, either during this method's run, or after it has returned. If shutdown fails, the invocation should cause a call tonotifyFailed(Throwable)
instead.This method should return promptly; prefer to do work on a different thread where it is convenient. It is invoked exactly once on service shutdown, even when
stop()
is called multiple times.
start
public final ListenableFuture<Service.State> start()
- Description copied from interface:
Service
- If the service state is
Service.State.NEW
, this initiates service startup and returns immediately. If the service has already been started, this method returns immediately without taking action. A stopped service may not be restarted.- Returns:
- a future for the startup result, regardless of whether this call
initiated startup. Calling
Future.get()
will block until the service has finished starting, and returns one ofService.State.RUNNING
,Service.State.STOPPING
orService.State.TERMINATED
. If the service fails to start,Future.get()
will throw anExecutionException
, and the service's state will beService.State.FAILED
. If it has already finished starting,Future.get()
returns immediately. Cancelling this future has no effect on the service.
stop
public final ListenableFuture<Service.State> stop()
- Description copied from interface:
Service
- If the service is starting or running, this initiates service shutdown and returns
immediately. If the service is new, it is
terminated without having been started nor
stopped. If the service has already been stopped, this method returns
immediately without taking action.
- Returns:
- a future for the shutdown result, regardless of whether this call
initiated shutdown. Calling
Future.get()
will block until the service has finished shutting down, and either returnsService.State.TERMINATED
or throws anExecutionException
. If it has already finished stopping,Future.get()
returns immediately. Cancelling this future has no effect on the service.
startAndWait
public Service.State startAndWait()
- Description copied from interface:
Service
- Initiates service startup (if necessary), returning once the service has
finished starting. Unlike calling
start().get()
, this method throws no checked exceptions, and it cannot be interrupted.- Specified by:
startAndWait
in interfaceService
- Returns:
- the state of the service when startup finished.
stopAndWait
public Service.State stopAndWait()
- Description copied from interface:
Service
- Initiates service shutdown (if necessary), returning once the service has
finished stopping. If this is
Service.State.STARTING
, startup will be cancelled. If this isService.State.NEW
, it isterminated
without having been started nor stopped. Unlike callingstop().get()
, this method throws no checked exceptions.- Specified by:
stopAndWait
in interfaceService
- Returns:
- the state of the service when shutdown finished.
notifyStarted
protected final void notifyStarted()
- Implementing classes should invoke this method once their service has
started. It will cause the service to transition from
Service.State.STARTING
toService.State.RUNNING
.- Throws:
IllegalStateException
- if the service is notService.State.STARTING
.
notifyStopped
protected final void notifyStopped()
- Implementing classes should invoke this method once their service has
stopped. It will cause the service to transition from
Service.State.STOPPING
toService.State.TERMINATED
.- Throws:
IllegalStateException
- if the service is neitherService.State.STOPPING
norService.State.RUNNING
.
notifyFailed
protected final void notifyFailed(Throwable cause)
- Invoke this method to transition the service to the
Service.State.FAILED
. The service will not be stopped if it is running. Invoke this method when a service has failed critically or otherwise cannot be started nor stopped.
isRunning
public final boolean isRunning()
state
public final Service.State state()
- Description copied from interface:
Service
- Returns the lifecycle state of the service.
toString
public String toString()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright © 2010-2012. All Rights Reserved.
© 2015 - 2025 Weber Informatics LLC | Privacy Policy