You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Adrian Tarau (JIRA)" <ji...@apache.org> on 2016/04/07 23:49:25 UTC

[jira] [Created] (DBCP-458) Allow subclasses of BasicDataSource to provide their own GenericObjectPool implementation

Adrian Tarau created DBCP-458:
---------------------------------

             Summary: Allow subclasses of BasicDataSource to provide their own GenericObjectPool implementation
                 Key: DBCP-458
                 URL: https://issues.apache.org/jira/browse/DBCP-458
             Project: Commons Dbcp
          Issue Type: Improvement
    Affects Versions: 2.1.1
            Reporter: Adrian Tarau


I had the same need in an older version and I had to do a terrible hack which I would not like to do with a newer version.

The main idea is that I would like to be able to monitor borrow and return events (among other things) and for that I need to provide my own GenericObjectPool implementation.

It would be a small change to add a createObjectPool method and use it in createConnectionPool. Default implementation would be to 
{code}
if (abandonedConfig != null &&
                (abandonedConfig.getRemoveAbandonedOnBorrow() ||
                 abandonedConfig.getRemoveAbandonedOnMaintenance())) {
            gop = new GenericObjectPool<>(factory, config, abandonedConfig);
        }
        else {
            gop = new GenericObjectPool<>(factory, config);
        }
{code}

Subclasses would have the flexibility to provide their own pool implementation.



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