Pooling Parameters

One of the most important parameters of Enterprise Server pooling
is steady-pool-size. When steady-pool-size is
set to greater than 0, the container not only pre-populates the bean
pool with the specified number of beans, but also attempts to ensure
that this number of beans is always available in the free pool. This
ensures that there are enough beans in the ready to serve state to
process user requests.

This parameter does not necessarily guarantee that no more than steady-pool-size instances exist at a given time. It only
governs the number of instances that are pooled over a long period
of time. For example, suppose an idle stateless session container
has a fully-populated pool with a steady-pool-size of 10. If 20 concurrent requests arrive for the EJB component,
the container creates 10 additional instances to satisfy the burst
of requests. The advantage of this is that it prevents the container
from blocking any of the incoming requests. However, if the activity
dies down to 10 or fewer concurrent requests, the additional 10 instances
are discarded.

Another parameter, pool-idle-timeout-in-seconds,
allows the administrator to specify the amount of time a bean instance
can be idle in the pool. When pool-idle-timeout-in-seconds is
set to greater than 0, the container removes or destroys any bean
instance that is idle for this specified duration.