Package org.eclipse.jetty.http.spi
Class DelegatingThreadPool
java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.ContainerLifeCycle
org.eclipse.jetty.http.spi.DelegatingThreadPool
- All Implemented Interfaces:
Executor
,Container
,Destroyable
,Dumpable
,Dumpable.DumpableContainer
,LifeCycle
,ThreadPool
,TryExecutor
,VirtualThreads.Configurable
public class DelegatingThreadPool
extends ContainerLifeCycle
implements ThreadPool, TryExecutor, VirtualThreads.Configurable
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener, AbstractLifeCycle.StopException
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
Container.InheritedListener, Container.Listener
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
Dumpable.DumpableContainer
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.thread.ThreadPool
ThreadPool.SizedThreadPool
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.thread.TryExecutor
TryExecutor.NoTryExecutor
-
Field Summary
Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
FAILED, STARTED, STARTING, STOPPED, STOPPING
Fields inherited from interface org.eclipse.jetty.util.thread.TryExecutor
NO_TRY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
doStop()
Stops the managed lifecycle beans in the reverse order they were added.void
int
int
boolean
void
join()
Blocks until the thread pool isstopped
.void
setExecutor
(Executor executor) void
setVirtualThreadsExecutor
(Executor executor) boolean
tryExecute
(Runnable task) Attempt to execute a task.Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, destroy, doStart, dump, dump, dump, dumpObjects, dumpStdErr, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, installBean, installBean, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, start, stop, unmanage, updateBean, updateBean, updateBeans, updateBeans
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
getEventListeners, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, setEventListeners, start, stop, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.jetty.util.component.Container
getCachedBeans, getEventListeners
Methods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpable
Methods inherited from interface org.eclipse.jetty.util.VirtualThreads.Configurable
isUseVirtualThreads, setUseVirtualThreads
-
Constructor Details
-
DelegatingThreadPool
-
-
Method Details
-
getExecutor
-
setExecutor
-
execute
- Specified by:
execute
in interfaceExecutor
- Specified by:
execute
in interfaceTryExecutor
-
tryExecute
Description copied from interface:TryExecutor
Attempt to execute a task.- Specified by:
tryExecute
in interfaceTryExecutor
- Parameters:
task
- The task to be executed- Returns:
- True IFF the task has been given directly to a thread to execute. The task cannot be queued pending the later availability of a Thread.
-
getVirtualThreadsExecutor
- Specified by:
getVirtualThreadsExecutor
in interfaceVirtualThreads.Configurable
- Returns:
- the
Executor
to use to execute tasks in virtual threads
-
setVirtualThreadsExecutor
- Specified by:
setVirtualThreadsExecutor
in interfaceVirtualThreads.Configurable
- Parameters:
executor
- theExecutor
to use to execute tasks in virtual threads- See Also:
-
getIdleThreads
public int getIdleThreads()- Specified by:
getIdleThreads
in interfaceThreadPool
- Returns:
- The number of idle threads in the pool
-
getThreads
public int getThreads()- Specified by:
getThreads
in interfaceThreadPool
- Returns:
- The total number of threads currently in the pool
-
isLowOnThreads
public boolean isLowOnThreads()- Specified by:
isLowOnThreads
in interfaceThreadPool
- Returns:
- True if the pool is low on threads
-
join
Description copied from interface:ThreadPool
Blocks until the thread pool isstopped
.- Specified by:
join
in interfaceThreadPool
- Throws:
InterruptedException
- if thread was interrupted
-
doStop
Description copied from class:ContainerLifeCycle
Stops the managed lifecycle beans in the reverse order they were added.- Overrides:
doStop
in classContainerLifeCycle
- Throws:
Exception
- If there was a problem stopping. Will cause a transition to FAILED state
-