Package com.oracle.coherence.grpc
Class SimpleDaemonPoolExecutor
java.lang.Object
com.oracle.coherence.grpc.SimpleDaemonPoolExecutor
- All Implemented Interfaces:
ClassLoaderAware
,Controllable
,Executor
- Direct Known Subclasses:
DaemonPoolExecutor
An
Executor
that uses a DaemonPool
to execute tasks.
Instances of SimpleDaemonPoolExecutor
are created with a DaemonPool
that is stopped. The executor should be started by calling the start()
method.
Tasks submitted without calling start will be executed immediately on the calling thread.
- Since:
- 20.06
- Author:
- Jonathan Knight 2020.06.24
-
Field Summary
Modifier and TypeFieldDescriptionprotected final com.tangosol.internal.util.DaemonPool
TheDaemonPool
that will be used to execute tasks. -
Constructor Summary
ConstructorDescriptionSimpleDaemonPoolExecutor
(com.tangosol.internal.util.DaemonPool pool) Create aSimpleDaemonPoolExecutor
.SimpleDaemonPoolExecutor
(com.tangosol.internal.util.DefaultDaemonPoolDependencies dependencies) SimpleDaemonPoolExecutor
(String sName) SimpleDaemonPoolExecutor
(String sName, int cThreads, int cThreadsMin, int cThreadsMax) -
Method Summary
Modifier and TypeMethodDescriptionvoid
configure
(XmlElement xmlElement) Configure the controllable service.void
Retrieve the context ClassLoader for this object.com.tangosol.internal.util.DaemonPool
getPool()
Obtain the underlyingDaemonPool
.boolean
Determine whether or not the controllable service is running.boolean
isStuck()
Returntrue
if the pool is stuck.void
setContextClassLoader
(ClassLoader loader) Specify the context ClassLoader for this object.void
shutdown()
Stop the controllable service.void
start()
Start the controllable service.void
stop()
Hard-stop the controllable service.
-
Field Details
-
f_pool
protected final com.tangosol.internal.util.DaemonPool f_poolTheDaemonPool
that will be used to execute tasks.
-
-
Constructor Details
-
SimpleDaemonPoolExecutor
-
SimpleDaemonPoolExecutor
-
SimpleDaemonPoolExecutor
public SimpleDaemonPoolExecutor(com.tangosol.internal.util.DefaultDaemonPoolDependencies dependencies) -
SimpleDaemonPoolExecutor
public SimpleDaemonPoolExecutor(com.tangosol.internal.util.DaemonPool pool) Create aSimpleDaemonPoolExecutor
.- Parameters:
pool
- theDaemonPool
to use
-
-
Method Details
-
execute
-
configure
Description copied from interface:Controllable
Configure the controllable service.This method can only be called before the controllable service is started.
- Specified by:
configure
in interfaceControllable
- Parameters:
xmlElement
- an XmlElement carrying configuration information specific to the Controllable object
-
start
public void start()Description copied from interface:Controllable
Start the controllable service.This method should only be called once per the life cycle of the Controllable service. This method has no affect if the service is already running.
- Specified by:
start
in interfaceControllable
-
isRunning
public boolean isRunning()Description copied from interface:Controllable
Determine whether or not the controllable service is running. This method returns false before a service is started, while the service is starting, while a service is shutting down and after the service has stopped. It only returns true after completing its start processing and before beginning its shutdown processing.- Specified by:
isRunning
in interfaceControllable
- Returns:
- true if the service is running; false otherwise
-
isStuck
public boolean isStuck()Returntrue
if the pool is stuck.- Returns:
true
if the pool is stuck
-
shutdown
public void shutdown()Description copied from interface:Controllable
Stop the controllable service. This is a controlled shut-down, and is preferred to theControllable.stop()
method.This method should only be called once per the life cycle of the controllable service. Calling this method for a service that has already stopped has no effect.
- Specified by:
shutdown
in interfaceControllable
-
stop
public void stop()Description copied from interface:Controllable
Hard-stop the controllable service. UseControllable.shutdown()
for normal service termination. Calling this method for a service that has already stopped has no effect.- Specified by:
stop
in interfaceControllable
-
getContextClassLoader
Description copied from interface:ClassLoaderAware
Retrieve the context ClassLoader for this object. The context ClassLoader is provided by the creator of the object for use by the object when loading classes and resources.- Specified by:
getContextClassLoader
in interfaceClassLoaderAware
- Returns:
- the context ClassLoader for this object
- See Also:
-
setContextClassLoader
Description copied from interface:ClassLoaderAware
Specify the context ClassLoader for this object. The context ClassLoader can be set when the object is created, and allows the creator to provide the appropriate class loader to be used by the object when when loading classes and resources.- Specified by:
setContextClassLoader
in interfaceClassLoaderAware
- Parameters:
loader
- the context ClassLoader for this object
-
getPool
public com.tangosol.internal.util.DaemonPool getPool()Obtain the underlyingDaemonPool
.- Returns:
- the underlying
DaemonPool
-