Package org.eclipse.jetty.util.thread
Class ThreadPoolBudget
- java.lang.Object
-
- org.eclipse.jetty.util.thread.ThreadPoolBudget
-
@ManagedObject public class ThreadPoolBudget extends java.lang.Object
A budget of required thread usage, used to warn or error for insufficient configured threads.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceThreadPoolBudget.LeaseclassThreadPoolBudget.LeasedAn allocation of threads
-
Constructor Summary
Constructors Constructor Description ThreadPoolBudget(ThreadPool.SizedThreadPool pool)Construct a budget for a SizedThreadPool.ThreadPoolBudget(ThreadPool.SizedThreadPool pool, int warnAt)Deprecated.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancheck(int maxThreads)Checks leases against the given number ofmaxThreads.intgetLeasedThreads()ThreadPool.SizedThreadPoolgetSizedThreadPool()static ThreadPoolBudget.LeaseleaseFrom(java.util.concurrent.Executor executor, java.lang.Object leasee, int threads)ThreadPoolBudget.LeaseleaseTo(java.lang.Object leasee, int threads)voidreset()
-
-
-
Constructor Detail
-
ThreadPoolBudget
public ThreadPoolBudget(ThreadPool.SizedThreadPool pool)
Construct a budget for a SizedThreadPool.- Parameters:
pool- The pool to budget thread allocation for.
-
ThreadPoolBudget
@Deprecated public ThreadPoolBudget(ThreadPool.SizedThreadPool pool, int warnAt)
Deprecated.- Parameters:
pool- The pool to budget thread allocation for.warnAt- The level of free threads at which a warning is generated.
-
-
Method Detail
-
getSizedThreadPool
public ThreadPool.SizedThreadPool getSizedThreadPool()
-
getLeasedThreads
@ManagedAttribute("the number of threads leased to components") public int getLeasedThreads()
-
reset
public void reset()
-
leaseTo
public ThreadPoolBudget.Lease leaseTo(java.lang.Object leasee, int threads)
-
check
public boolean check(int maxThreads) throws java.lang.IllegalStateExceptionChecks leases against the given number of
maxThreads.- Parameters:
maxThreads- A proposed change to the maximum threads to check.- Returns:
- true if passes check, false if otherwise (see logs for details)
- Throws:
java.lang.IllegalStateException- if insufficient threads are configured.
-
leaseFrom
public static ThreadPoolBudget.Lease leaseFrom(java.util.concurrent.Executor executor, java.lang.Object leasee, int threads)
-
-