
javadoc.com.google.common.util.concurrent.Service.html Maven / Gradle / Ivy
Service (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
Interface Service
- All Known Implementing Classes:
- AbstractExecutionThreadService, AbstractIdleService, AbstractScheduledService, AbstractService, ForwardingService
An object with an operational state, plus asynchronous start()
and
stop()
lifecycle methods to transfer into and out of this state.
Example services include webservers, RPC servers and timers. The normal
lifecycle of a service is:
Service.State.NEW
->Service.State.STARTING
->Service.State.RUNNING
->Service.State.STOPPING
->Service.State.TERMINATED
Service.State.FAILED
, and its behavior is undefined. Such a service cannot be
started nor stopped.
Implementors of this interface are strongly encouraged to extend one of the abstract classes in this package which implement this interface and make the threading and state management easier.
- Since:
- 9.0 (in 1.0 as
com.google.common.base.Service
) - Author:
- Jesse Wilson
Nested Class Summary | |
---|---|
static class |
Service.State
The lifecycle states of a service. |
Method Summary | |
---|---|
boolean |
isRunning()
Returns true if this service is running. |
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. |
Method Detail |
---|
start
ListenableFuture<Service.State> start()
- 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.
startAndWait
Service.State startAndWait()
- 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.- Returns:
- the state of the service when startup finished.
- Throws:
UncheckedExecutionException
- if startup failed
isRunning
boolean isRunning()
- Returns
true
if this service is running.
state
Service.State state()
- Returns the lifecycle state of the service.
stop
ListenableFuture<Service.State> stop()
- 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.
stopAndWait
Service.State stopAndWait()
- 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.- Returns:
- the state of the service when shutdown finished.
- Throws:
UncheckedExecutionException
- if shutdown failed
|
||||||||||
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