As requested by Evaristo José Camarero on the OpenDJ user mailing list:
Implement an alternative Pool similar to the FixedConnectionPool that maintains the connections in the pool even when the connection has been assigned, and therefore allowing that the same connection is reused by several pool users at the same time assuming that connections are thread safe. A Semaphore could be used as a hard limit to the concurrent assignments done by the pool (the number of concurrent operations could be a constructor parameter). This case could be useful for a very demanding async LDAP client (e.g. high performance proxy). Pooling several connections make sense, because some LDAP servers usually restrict the number of resources that a single connection can use (max number of working threads per connection, max number of pending operations per connection...). So using a pool of connections is still useful. This pool could be even the Fixed ConnectionPool with the initialPoolSize and a parameter indicating if assigned connections should release from the Pool queu or not. Does it make sense?
Note that a "shared connection" connection pool would not be able to support Bind or StartTLS requests since these cannot be done concurrently with other types of request.