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)
 
 - 
 
 -