Base class for services that do not need a thread while "running"
but may need one during startup and shutdown. Subclasses can
which run in a executor which by default uses a separate thread
for each method.
- Chris Nokleberg
Constructor for use by subclasses.
that will be used to run this service.
Subclasses may override this method to use a custom
may configure its worker thread with a specific name, thread group or
priority. The returned executor's
method is called when this service is started and stopped,
and should return promptly.
Returns the name of this service.
may include the name in debugging