It is common to create and maintain a pool of stateless session bean instances. Each client call will be serviced by an available instance (usually in a separate
thread). The instance will remain active until the end of the method call, after which the
EJB container will unbind the session bean from the client and return the instance to the pool for reuse.
If the container has no available instances and is prevented from creating new ones, then all client calls for the EJB class will be blocked until an instance becomes available. However, should the block eventually cause a timeout, the container will throw RemoteException for a remote client or an EJBException for a local client.