Federico Marmori created DIRAPI-239:
---------------------------------------

             Summary: Client API exposes implementation classes of common-pools
                 Key: DIRAPI-239
                 URL: https://issues.apache.org/jira/browse/DIRAPI-239
             Project: Directory Client API
          Issue Type: Bug
    Affects Versions: 1.0.0-M30
            Reporter: Federico Marmori


The  constructors:

LdapConnectionPool(LdapConnectionConfig connectionConfig, LdapApiService 
apiService, long timeout, org.apache.commons.pool.impl.GenericObjectPool.Config 
poolConfig)

and 

LdapConnectionPool(org.apache.commons.pool.PoolableObjectFactory<LdapConnection>
 factory, org.apache.commons.pool.impl.GenericObjectPool.Config poolConfig)

...allows the user to provide its own pool configuration.
However, using the Config object is really a bad idea. This forces the user 
code to depend on an implementation class of the commons-pool library, which 
will break any OSGI deployment and force the user to implement tedious 
workarounds. Probably common-pools could solve the issue by exposing the Config 
object in the API, however the DIRAPI can fix the issue by making sure that the 
LdapConnectionPool either:
- expose all pool configuration attributes in a constructor instead of the 
GenericObjectPool.Config
- provide its own LdapPoolConfiguration bean object instead of using the 
GenericObjectPool.Config
- provide an LdapConnectionPoolFactory instead




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to