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]
