directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Federico Marmori (JIRA)" <>
Subject [jira] [Created] (DIRAPI-239) Client API exposes implementation classes of common-pools
Date Tue, 05 May 2015 11:14:59 GMT
Federico Marmori created DIRAPI-239:

             Summary: Client API exposes implementation classes of common-pools
                 Key: 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)


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

View raw message