For a discussion about this request, please refer to: http://firstname.lastname@example.org/msg07215.html.
In general, it feels like SharedPoolDataSource and PerUserPoolDataSource could be made much more powerful and flexible by exposing as much of the configurability of the underlying ObjectPool as possible. It seems to me that if consumers are going to want to customize behavior it is very likely that it is the ObjectPool that they will want to tweak. Exposing the power of the inner pool would be really useful.
But if that doesn't make sense, at least allowing a global cap on the total number of connections across all keys in the pool data source would solve at least the problem I describe in the mailing list post.