## Maximum Threads Constraint

Maximum threads constraint limits the number of concurrent threads executing requests from the constrained work set. The default is unlimited. For example, consider a constraint defined with maximum threads of 10 and shared by 3 entry points. The scheduling logic ensures that not more than 10 threads are executing requests from the three entry points combined.

You can define a maximum threads constraint in terms of a the availability of the resource that requests depend upon, such as a connection pool.

A maximum threads constraint might, but does not necessarily, prevent a request class from taking its fair share of threads or meeting its response time goal. Once the constraint is reached the server does not schedule requests of this type until the number of concurrent executions falls below the limit. The server then schedules work based on the fair share or response time goal.

## Minimum Threads Constraint

Minimum threads constraint guarantees the number of threads the server will allocate to affected requests to avoid deadlocks. The default is zero. A minimum threads constraint value of one is useful, for example, for a replication update request, which is called synchronously from a peer.

A minimum threads constraint might not necessarily increase a fair share. This type of constraint has an effect primarily when the server instance is close to a deadlock condition. In that case, the constraint will cause WebLogic Server to schedule a request even if requests in the service class have gotten more than its fair share recently.

## Capacity Constraint

Capacity constraint causes the server to reject requests only when it has reached its capacity. The default is -1. Note that the capacity includes all requests, queued or executing, from the constrained work set. Work is rejected either when an individual capacity threshold is exceeded or if the global capacity is exceeded. This constraint is independent of the global queue threshold.