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
public class SimpleDaemonPoolExecutor extends Object implements Executor, Controllable
AnExecutor
that uses aDaemonPool
to execute tasks.Instances of
SimpleDaemonPoolExecutor
are created with aDaemonPool
that is stopped. The executor should be started by calling thestart()
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
Fields Modifier and Type Field Description protected com.tangosol.internal.util.DaemonPool
f_pool
TheDaemonPool
that will be used to execute tasks.
-
Constructor Summary
Constructors Constructor Description SimpleDaemonPoolExecutor(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
configure(XmlElement xmlElement)
Configure the controllable service.void
execute(Runnable command)
ClassLoader
getContextClassLoader()
Retrieve the context ClassLoader for this object.com.tangosol.internal.util.DaemonPool
getPool()
Obtain the underlyingDaemonPool
.boolean
isRunning()
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.
-
-
-
Constructor Detail
-
SimpleDaemonPoolExecutor
public SimpleDaemonPoolExecutor(String sName)
-
SimpleDaemonPoolExecutor
public SimpleDaemonPoolExecutor(String sName, int cThreads, int cThreadsMin, int cThreadsMax)
-
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 Detail
-
configure
public void configure(XmlElement xmlElement)
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
public ClassLoader 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:
Thread.getContextClassLoader()
-
setContextClassLoader
public void setContextClassLoader(ClassLoader loader)
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
-
-