On 9/20/13 8:48 AM, Programmer wrote:
> Hi,
>
> We use apache commons pooling 1.6 in our enterprise application to pool LDAP
> connections. If the number of active connections in the pool is exhausted,
> the API is set to wait for 5 seconds before rejecting a connection request.
>
> Now can someone please clarify about the order in which the connection
> object requests are served by the API at run time? Is it FIFO - by which I
> mean that the worker thread that requested for an active connection from the
> exhausted pool will get the first preference when a new connection object
> becomes available? Or is it LIFO, which is the vice versa?
>
> Please lemme know if I should clarify this further. Any light on this
> behavior is greatly appreciated. :)

I am not sure I understand the question.  If you are asking whether
or not the pool is fair from the client perspective, the answer is
"mostly yes" - i.e., the 1.5.x/1.6 implements a servicing model that
aims to provide service to waiting threads in close to arrival
order.  This is not a hard contract; however, and it cannot be
counted on in all cases.  If you are asking about how the pool
serves objects, the LIFO/FIFO behavior is configurable.  See the
get/setLifo methods in the javadoc.  The default is LIFO, meaning
that the most recently returned object to the pool will be the first
to returned by borrowObject.

Phil
>
> - Programmer.
>
>
>
> --
> View this message in context: 
> http://apache-commons.680414.n4.nabble.com/Commons-Pooling-request-queue-algorithm-tp4653914.html
> Sent from the Commons - User mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to