Emmanuel Lecharny commented on DIRAPI-239:

We will have a loo at the suggested changes when we will migrate to 
commons-pool 2.4.2

> 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
>             Fix For: 2.0.0
> 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

Reply via email to