Class PoolableConnectionFactory

  • All Implemented Interfaces:
    org.apache.commons.pool.PoolableObjectFactory
    Direct Known Subclasses:
    PoolableManagedConnectionFactory

    public class PoolableConnectionFactory
    extends java.lang.Object
    implements org.apache.commons.pool.PoolableObjectFactory
    A PoolableObjectFactory that creates PoolableConnections.
    Version:
    $Revision: 883393 $ $Date: 2009-11-23 11:18:35 -0500 (Mon, 23 Nov 2009) $
    Author:
    Rodney Waldhoff, Glenn L. Nielsen, James House, Dirk Verbeeck
    • Constructor Summary

      Constructors 
      Constructor Description
      PoolableConnectionFactory​(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, boolean defaultReadOnly, boolean defaultAutoCommit)
      Create a new PoolableConnectionFactory.
      PoolableConnectionFactory​(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation)
      Create a new PoolableConnectionFactory.
      PoolableConnectionFactory​(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, java.lang.String defaultCatalog, AbandonedConfig config)
      Create a new PoolableConnectionFactory.
      PoolableConnectionFactory​(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, AbandonedConfig config)
      Create a new PoolableConnectionFactory.
      PoolableConnectionFactory​(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, boolean defaultReadOnly, boolean defaultAutoCommit, AbandonedConfig config)
      Create a new PoolableConnectionFactory.
      PoolableConnectionFactory​(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, int validationQueryTimeout, boolean defaultReadOnly, boolean defaultAutoCommit)
      Create a new PoolableConnectionFactory.
      PoolableConnectionFactory​(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, int validationQueryTimeout, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation)
      Create a new PoolableConnectionFactory.
      PoolableConnectionFactory​(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, int validationQueryTimeout, java.lang.Boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, java.lang.String defaultCatalog, AbandonedConfig config)
      Create a new PoolableConnectionFactory.
      PoolableConnectionFactory​(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, int validationQueryTimeout, java.util.Collection connectionInitSqls, boolean defaultReadOnly, boolean defaultAutoCommit)
      Create a new PoolableConnectionFactory.
      PoolableConnectionFactory​(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, int validationQueryTimeout, java.util.Collection connectionInitSqls, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation)
      Create a new PoolableConnectionFactory.
      PoolableConnectionFactory​(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, int validationQueryTimeout, java.util.Collection connectionInitSqls, java.lang.Boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, java.lang.String defaultCatalog, AbandonedConfig config)
      Create a new PoolableConnectionFactory.
      PoolableConnectionFactory​(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, java.lang.Boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, java.lang.String defaultCatalog, AbandonedConfig config)
      Create a new PoolableConnectionFactory.
      PoolableConnectionFactory​(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, java.util.Collection connectionInitSqls, boolean defaultReadOnly, boolean defaultAutoCommit)
      Create a new PoolableConnectionFactory.
      PoolableConnectionFactory​(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, java.util.Collection connectionInitSqls, boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation)
      Create a new PoolableConnectionFactory.
      PoolableConnectionFactory​(ConnectionFactory connFactory, org.apache.commons.pool.ObjectPool pool, org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory, java.lang.String validationQuery, java.util.Collection connectionInitSqls, java.lang.Boolean defaultReadOnly, boolean defaultAutoCommit, int defaultTransactionIsolation, java.lang.String defaultCatalog, AbandonedConfig config)
      Create a new PoolableConnectionFactory.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void activateObject​(java.lang.Object obj)  
      void destroyObject​(java.lang.Object obj)  
      org.apache.commons.pool.ObjectPool getPool()
      Returns the ObjectPool in which Connections are pooled.
      protected void initializeConnection​(java.sql.Connection conn)  
      java.lang.Object makeObject()  
      void passivateObject​(java.lang.Object obj)  
      void setConnectionFactory​(ConnectionFactory connFactory)
      Sets the ConnectionFactory from which to obtain base Connections.
      void setConnectionInitSql​(java.util.Collection connectionInitSqls)
      Sets the SQL statements I use to initialize newly created Connections.
      void setDefaultAutoCommit​(boolean defaultAutoCommit)
      Sets the default "auto commit" setting for borrowed Connections
      void setDefaultCatalog​(java.lang.String defaultCatalog)
      Sets the default "catalog" setting for borrowed Connections
      void setDefaultReadOnly​(boolean defaultReadOnly)
      Sets the default "read only" setting for borrowed Connections
      void setDefaultTransactionIsolation​(int defaultTransactionIsolation)
      Sets the default "Transaction Isolation" setting for borrowed Connections
      void setPool​(org.apache.commons.pool.ObjectPool pool)
      Sets the ObjectPool in which to pool Connections.
      void setStatementPoolFactory​(org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory)
      Sets the KeyedObjectPoolFactory I use to create KeyedObjectPools for pooling PreparedStatements.
      void setValidationQuery​(java.lang.String validationQuery)
      Sets the query I use to validate Connections.
      void setValidationQueryTimeout​(int timeout)
      Sets the validation query timeout, the amount of time, in seconds, that connection validation will wait for a response from the database when executing a validation query.
      void validateConnection​(java.sql.Connection conn)  
      boolean validateObject​(java.lang.Object obj)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • _validationQuery

        protected volatile java.lang.String _validationQuery
      • _validationQueryTimeout

        protected volatile int _validationQueryTimeout
      • _connectionInitSqls

        protected java.util.Collection _connectionInitSqls
      • _pool

        protected volatile org.apache.commons.pool.ObjectPool _pool
      • _stmtPoolFactory

        protected volatile org.apache.commons.pool.KeyedObjectPoolFactory _stmtPoolFactory
      • _defaultReadOnly

        protected java.lang.Boolean _defaultReadOnly
      • _defaultAutoCommit

        protected boolean _defaultAutoCommit
      • _defaultTransactionIsolation

        protected int _defaultTransactionIsolation
      • _defaultCatalog

        protected java.lang.String _defaultCatalog
      • _config

        protected AbandonedConfig _config
        Configuration for removing abandoned connections.
    • Constructor Detail

      • PoolableConnectionFactory

        public PoolableConnectionFactory​(ConnectionFactory connFactory,
                                         org.apache.commons.pool.ObjectPool pool,
                                         org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory,
                                         java.lang.String validationQuery,
                                         boolean defaultReadOnly,
                                         boolean defaultAutoCommit)
        Create a new PoolableConnectionFactory.
        Parameters:
        connFactory - the ConnectionFactory from which to obtain base Connections
        pool - the ObjectPool in which to pool those Connections
        stmtPoolFactory - the KeyedObjectPoolFactory to use to create KeyedObjectPools for pooling PreparedStatements, or null to disable PreparedStatement pooling
        validationQuery - a query to use to validate Connections. Should return at least one row. Using null turns off validation.
        defaultReadOnly - the default "read only" setting for borrowed Connections
        defaultAutoCommit - the default "auto commit" setting for returned Connections
      • PoolableConnectionFactory

        public PoolableConnectionFactory​(ConnectionFactory connFactory,
                                         org.apache.commons.pool.ObjectPool pool,
                                         org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory,
                                         java.lang.String validationQuery,
                                         java.util.Collection connectionInitSqls,
                                         boolean defaultReadOnly,
                                         boolean defaultAutoCommit)
        Create a new PoolableConnectionFactory.
        Parameters:
        connFactory - the ConnectionFactory from which to obtain base Connections
        pool - the ObjectPool in which to pool those Connections
        stmtPoolFactory - the KeyedObjectPoolFactory to use to create KeyedObjectPools for pooling PreparedStatements, or null to disable PreparedStatement pooling
        validationQuery - a query to use to validate Connections. Should return at least one row. Using null turns off validation.
        connectionInitSqls - a Collection of SQL statements to initialize Connections. Using null turns off initialization.
        defaultReadOnly - the default "read only" setting for borrowed Connections
        defaultAutoCommit - the default "auto commit" setting for returned Connections
        Since:
        1.3
      • PoolableConnectionFactory

        public PoolableConnectionFactory​(ConnectionFactory connFactory,
                                         org.apache.commons.pool.ObjectPool pool,
                                         org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory,
                                         java.lang.String validationQuery,
                                         int validationQueryTimeout,
                                         boolean defaultReadOnly,
                                         boolean defaultAutoCommit)
        Create a new PoolableConnectionFactory.
        Parameters:
        connFactory - the ConnectionFactory from which to obtain base Connections
        pool - the ObjectPool in which to pool those Connections
        stmtPoolFactory - the KeyedObjectPoolFactory to use to create KeyedObjectPools for pooling PreparedStatements, or null to disable PreparedStatement pooling
        validationQuery - a query to use to validate Connections. Should return at least one row. Using null turns off validation.
        validationQueryTimeout - the number of seconds that validation queries will wait for database response before failing. Use a value less than or equal to 0 for no timeout.
        defaultReadOnly - the default "read only" setting for borrowed Connections
        defaultAutoCommit - the default "auto commit" setting for returned Connections
        Since:
        1.3
      • PoolableConnectionFactory

        public PoolableConnectionFactory​(ConnectionFactory connFactory,
                                         org.apache.commons.pool.ObjectPool pool,
                                         org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory,
                                         java.lang.String validationQuery,
                                         int validationQueryTimeout,
                                         java.util.Collection connectionInitSqls,
                                         boolean defaultReadOnly,
                                         boolean defaultAutoCommit)
        Create a new PoolableConnectionFactory.
        Parameters:
        connFactory - the ConnectionFactory from which to obtain base Connections
        pool - the ObjectPool in which to pool those Connections
        stmtPoolFactory - the KeyedObjectPoolFactory to use to create KeyedObjectPools for pooling PreparedStatements, or null to disable PreparedStatement pooling
        validationQuery - a query to use to validate Connections. Should return at least one row. Using null turns off validation.
        validationQueryTimeout - the number of seconds that validation queries will wait for database response before failing. Use a value less than or equal to 0 for no timeout.
        connectionInitSqls - a Collection of SQL statements to initialize Connections. Using null turns off initialization.
        defaultReadOnly - the default "read only" setting for borrowed Connections
        defaultAutoCommit - the default "auto commit" setting for returned Connections
        Since:
        1.3
      • PoolableConnectionFactory

        public PoolableConnectionFactory​(ConnectionFactory connFactory,
                                         org.apache.commons.pool.ObjectPool pool,
                                         org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory,
                                         java.lang.String validationQuery,
                                         boolean defaultReadOnly,
                                         boolean defaultAutoCommit,
                                         int defaultTransactionIsolation)
        Create a new PoolableConnectionFactory.
        Parameters:
        connFactory - the ConnectionFactory from which to obtain base Connections
        pool - the ObjectPool in which to pool those Connections
        stmtPoolFactory - the KeyedObjectPoolFactory to use to create KeyedObjectPools for pooling PreparedStatements, or null to disable PreparedStatement pooling
        validationQuery - a query to use to validate Connections. Should return at least one row. Using null turns off validation.
        defaultReadOnly - the default "read only" setting for borrowed Connections
        defaultAutoCommit - the default "auto commit" setting for returned Connections
        defaultTransactionIsolation - the default "Transaction Isolation" setting for returned Connections
      • PoolableConnectionFactory

        public PoolableConnectionFactory​(ConnectionFactory connFactory,
                                         org.apache.commons.pool.ObjectPool pool,
                                         org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory,
                                         java.lang.String validationQuery,
                                         java.util.Collection connectionInitSqls,
                                         boolean defaultReadOnly,
                                         boolean defaultAutoCommit,
                                         int defaultTransactionIsolation)
        Create a new PoolableConnectionFactory.
        Parameters:
        connFactory - the ConnectionFactory from which to obtain base Connections
        pool - the ObjectPool in which to pool those Connections
        stmtPoolFactory - the KeyedObjectPoolFactory to use to create KeyedObjectPools for pooling PreparedStatements, or null to disable PreparedStatement pooling
        validationQuery - a query to use to validate Connections. Should return at least one row. Using null turns off validation.
        connectionInitSqls - a Collection of SQL statement to initialize Connections. Using null turns off initialization.
        defaultReadOnly - the default "read only" setting for borrowed Connections
        defaultAutoCommit - the default "auto commit" setting for returned Connections
        defaultTransactionIsolation - the default "Transaction Isolation" setting for returned Connections
        Since:
        1.3
      • PoolableConnectionFactory

        public PoolableConnectionFactory​(ConnectionFactory connFactory,
                                         org.apache.commons.pool.ObjectPool pool,
                                         org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory,
                                         java.lang.String validationQuery,
                                         int validationQueryTimeout,
                                         boolean defaultReadOnly,
                                         boolean defaultAutoCommit,
                                         int defaultTransactionIsolation)
        Create a new PoolableConnectionFactory.
        Parameters:
        connFactory - the ConnectionFactory from which to obtain base Connections
        pool - the ObjectPool in which to pool those Connections
        stmtPoolFactory - the KeyedObjectPoolFactory to use to create KeyedObjectPools for pooling PreparedStatements, or null to disable PreparedStatement pooling
        validationQuery - a query to use to validate Connections. Should return at least one row. Using null turns off validation.
        validationQueryTimeout - the number of seconds that validation queries will wait for database response before failing. Use a value less than or equal to 0 for no timeout.
        defaultReadOnly - the default "read only" setting for borrowed Connections
        defaultAutoCommit - the default "auto commit" setting for returned Connections
        defaultTransactionIsolation - the default "Transaction Isolation" setting for returned Connections
        Since:
        1.3
      • PoolableConnectionFactory

        public PoolableConnectionFactory​(ConnectionFactory connFactory,
                                         org.apache.commons.pool.ObjectPool pool,
                                         org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory,
                                         java.lang.String validationQuery,
                                         int validationQueryTimeout,
                                         java.util.Collection connectionInitSqls,
                                         boolean defaultReadOnly,
                                         boolean defaultAutoCommit,
                                         int defaultTransactionIsolation)
        Create a new PoolableConnectionFactory.
        Parameters:
        connFactory - the ConnectionFactory from which to obtain base Connections
        pool - the ObjectPool in which to pool those Connections
        stmtPoolFactory - the KeyedObjectPoolFactory to use to create KeyedObjectPools for pooling PreparedStatements, or null to disable PreparedStatement pooling
        validationQuery - a query to use to validate Connections. Should return at least one row. Using null turns off validation.
        validationQueryTimeout - the number of seconds that validation queries will wait for database response before failing. Use a value less than or equal to 0 for no timeout.
        connectionInitSqls - a Collection of SQL statement to initialize Connections. Using null turns off initialization.
        defaultReadOnly - the default "read only" setting for borrowed Connections
        defaultAutoCommit - the default "auto commit" setting for returned Connections
        defaultTransactionIsolation - the default "Transaction Isolation" setting for returned Connections
        Since:
        1.3
      • PoolableConnectionFactory

        public PoolableConnectionFactory​(ConnectionFactory connFactory,
                                         org.apache.commons.pool.ObjectPool pool,
                                         org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory,
                                         java.lang.String validationQuery,
                                         boolean defaultReadOnly,
                                         boolean defaultAutoCommit,
                                         AbandonedConfig config)
        Create a new PoolableConnectionFactory.
        Parameters:
        connFactory - the ConnectionFactory from which to obtain base Connections
        pool - the ObjectPool in which to pool those Connections
        stmtPoolFactory - the KeyedObjectPoolFactory to use to create KeyedObjectPools for pooling PreparedStatements, or null to disable PreparedStatement pooling
        validationQuery - a query to use to validate Connections. Should return at least one row. Using null turns off validation.
        defaultReadOnly - the default "read only" setting for borrowed Connections
        defaultAutoCommit - the default "auto commit" setting for returned Connections
        config - the AbandonedConfig if tracing SQL objects
      • PoolableConnectionFactory

        public PoolableConnectionFactory​(ConnectionFactory connFactory,
                                         org.apache.commons.pool.ObjectPool pool,
                                         org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory,
                                         java.lang.String validationQuery,
                                         boolean defaultReadOnly,
                                         boolean defaultAutoCommit,
                                         int defaultTransactionIsolation,
                                         AbandonedConfig config)
        Create a new PoolableConnectionFactory.
        Parameters:
        connFactory - the ConnectionFactory from which to obtain base Connections
        pool - the ObjectPool in which to pool those Connections
        stmtPoolFactory - the KeyedObjectPoolFactory to use to create KeyedObjectPools for pooling PreparedStatements, or null to disable PreparedStatement pooling
        validationQuery - a query to use to validate Connections. Should return at least one row. Using null turns off validation.
        defaultReadOnly - the default "read only" setting for borrowed Connections
        defaultAutoCommit - the default "auto commit" setting for returned Connections
        defaultTransactionIsolation - the default "Transaction Isolation" setting for returned Connections
        config - the AbandonedConfig if tracing SQL objects
      • PoolableConnectionFactory

        public PoolableConnectionFactory​(ConnectionFactory connFactory,
                                         org.apache.commons.pool.ObjectPool pool,
                                         org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory,
                                         java.lang.String validationQuery,
                                         boolean defaultReadOnly,
                                         boolean defaultAutoCommit,
                                         int defaultTransactionIsolation,
                                         java.lang.String defaultCatalog,
                                         AbandonedConfig config)
        Create a new PoolableConnectionFactory.
        Parameters:
        connFactory - the ConnectionFactory from which to obtain base Connections
        pool - the ObjectPool in which to pool those Connections
        stmtPoolFactory - the KeyedObjectPoolFactory to use to create KeyedObjectPools for pooling PreparedStatements, or null to disable PreparedStatement pooling
        validationQuery - a query to use to validate Connections. Should return at least one row. Using null turns off validation.
        defaultReadOnly - the default "read only" setting for borrowed Connections
        defaultAutoCommit - the default "auto commit" setting for returned Connections
        defaultTransactionIsolation - the default "Transaction Isolation" setting for returned Connections
        defaultCatalog - the default "catalog" setting for returned Connections
        config - the AbandonedConfig if tracing SQL objects
      • PoolableConnectionFactory

        public PoolableConnectionFactory​(ConnectionFactory connFactory,
                                         org.apache.commons.pool.ObjectPool pool,
                                         org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory,
                                         java.lang.String validationQuery,
                                         java.lang.Boolean defaultReadOnly,
                                         boolean defaultAutoCommit,
                                         int defaultTransactionIsolation,
                                         java.lang.String defaultCatalog,
                                         AbandonedConfig config)
        Create a new PoolableConnectionFactory.
        Parameters:
        connFactory - the ConnectionFactory from which to obtain base Connections
        pool - the ObjectPool in which to pool those Connections
        stmtPoolFactory - the KeyedObjectPoolFactory to use to create KeyedObjectPools for pooling PreparedStatements, or null to disable PreparedStatement pooling
        validationQuery - a query to use to validate Connections. Should return at least one row. Using null turns off validation.
        defaultReadOnly - the default "read only" setting for borrowed Connections
        defaultAutoCommit - the default "auto commit" setting for returned Connections
        defaultTransactionIsolation - the default "Transaction Isolation" setting for returned Connections
        defaultCatalog - the default "catalog" setting for returned Connections
        config - the AbandonedConfig if tracing SQL objects
      • PoolableConnectionFactory

        public PoolableConnectionFactory​(ConnectionFactory connFactory,
                                         org.apache.commons.pool.ObjectPool pool,
                                         org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory,
                                         java.lang.String validationQuery,
                                         java.util.Collection connectionInitSqls,
                                         java.lang.Boolean defaultReadOnly,
                                         boolean defaultAutoCommit,
                                         int defaultTransactionIsolation,
                                         java.lang.String defaultCatalog,
                                         AbandonedConfig config)
        Create a new PoolableConnectionFactory.
        Parameters:
        connFactory - the ConnectionFactory from which to obtain base Connections
        pool - the ObjectPool in which to pool those Connections
        stmtPoolFactory - the KeyedObjectPoolFactory to use to create KeyedObjectPools for pooling PreparedStatements, or null to disable PreparedStatement pooling
        validationQuery - a query to use to validate Connections. Should return at least one row. Using null turns off validation.
        connectionInitSqls - a Collection of SQL statements to initialize Connections. Using null turns off initialization.
        defaultReadOnly - the default "read only" setting for borrowed Connections
        defaultAutoCommit - the default "auto commit" setting for returned Connections
        defaultTransactionIsolation - the default "Transaction Isolation" setting for returned Connections
        defaultCatalog - the default "catalog" setting for returned Connections
        config - the AbandonedConfig if tracing SQL objects
        Since:
        1.3
      • PoolableConnectionFactory

        public PoolableConnectionFactory​(ConnectionFactory connFactory,
                                         org.apache.commons.pool.ObjectPool pool,
                                         org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory,
                                         java.lang.String validationQuery,
                                         int validationQueryTimeout,
                                         java.lang.Boolean defaultReadOnly,
                                         boolean defaultAutoCommit,
                                         int defaultTransactionIsolation,
                                         java.lang.String defaultCatalog,
                                         AbandonedConfig config)
        Create a new PoolableConnectionFactory.
        Parameters:
        connFactory - the ConnectionFactory from which to obtain base Connections
        pool - the ObjectPool in which to pool those Connections
        stmtPoolFactory - the KeyedObjectPoolFactory to use to create KeyedObjectPools for pooling PreparedStatements, or null to disable PreparedStatement pooling
        validationQuery - a query to use to validate Connections. Should return at least one row. Using null turns off validation.
        validationQueryTimeout - the number of seconds that validation queries will wait for database response before failing. Use a value less than or equal to 0 for no timeout.
        defaultReadOnly - the default "read only" setting for borrowed Connections
        defaultAutoCommit - the default "auto commit" setting for returned Connections
        defaultTransactionIsolation - the default "Transaction Isolation" setting for returned Connections
        defaultCatalog - the default "catalog" setting for returned Connections
        config - the AbandonedConfig if tracing SQL objects
        Since:
        1.3
      • PoolableConnectionFactory

        public PoolableConnectionFactory​(ConnectionFactory connFactory,
                                         org.apache.commons.pool.ObjectPool pool,
                                         org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory,
                                         java.lang.String validationQuery,
                                         int validationQueryTimeout,
                                         java.util.Collection connectionInitSqls,
                                         java.lang.Boolean defaultReadOnly,
                                         boolean defaultAutoCommit,
                                         int defaultTransactionIsolation,
                                         java.lang.String defaultCatalog,
                                         AbandonedConfig config)
        Create a new PoolableConnectionFactory.
        Parameters:
        connFactory - the ConnectionFactory from which to obtain base Connections
        pool - the ObjectPool in which to pool those Connections
        stmtPoolFactory - the KeyedObjectPoolFactory to use to create KeyedObjectPools for pooling PreparedStatements, or null to disable PreparedStatement pooling
        validationQuery - a query to use to validate Connections. Should return at least one row. Using null turns off validation.
        validationQueryTimeout - the number of seconds that validation queries will wait for database response before failing. Use a value less than or equal to 0 for no timeout.
        connectionInitSqls - a Collection of SQL statements to initialize Connections. Using null turns off initialization.
        defaultReadOnly - the default "read only" setting for borrowed Connections
        defaultAutoCommit - the default "auto commit" setting for returned Connections
        defaultTransactionIsolation - the default "Transaction Isolation" setting for returned Connections
        defaultCatalog - the default "catalog" setting for returned Connections
        config - the AbandonedConfig if tracing SQL objects
        Since:
        1.3
    • Method Detail

      • setValidationQuery

        public void setValidationQuery​(java.lang.String validationQuery)
        Sets the query I use to validate Connections. Should return at least one row. Using null turns off validation.
        Parameters:
        validationQuery - a query to use to validate Connections.
      • setValidationQueryTimeout

        public void setValidationQueryTimeout​(int timeout)
        Sets the validation query timeout, the amount of time, in seconds, that connection validation will wait for a response from the database when executing a validation query. Use a value less than or equal to 0 for no timeout.
        Parameters:
        timeout - new validation query timeout value in seconds
        Since:
        1.3
      • setConnectionInitSql

        public void setConnectionInitSql​(java.util.Collection connectionInitSqls)
        Sets the SQL statements I use to initialize newly created Connections. Using null turns off connection initialization.
        Parameters:
        connectionInitSqls - SQL statement to initialize Connections.
        Since:
        1.3
      • setPool

        public void setPool​(org.apache.commons.pool.ObjectPool pool)
        Sets the ObjectPool in which to pool Connections.
        Parameters:
        pool - the ObjectPool in which to pool those Connections
      • getPool

        public org.apache.commons.pool.ObjectPool getPool()
        Returns the ObjectPool in which Connections are pooled.
        Returns:
        the connection pool
      • setStatementPoolFactory

        public void setStatementPoolFactory​(org.apache.commons.pool.KeyedObjectPoolFactory stmtPoolFactory)
        Sets the KeyedObjectPoolFactory I use to create KeyedObjectPools for pooling PreparedStatements. Set to null to disable PreparedStatement pooling.
        Parameters:
        stmtPoolFactory - the KeyedObjectPoolFactory to use to create KeyedObjectPools for pooling PreparedStatements
      • setDefaultReadOnly

        public void setDefaultReadOnly​(boolean defaultReadOnly)
        Sets the default "read only" setting for borrowed Connections
        Parameters:
        defaultReadOnly - the default "read only" setting for borrowed Connections
      • setDefaultAutoCommit

        public void setDefaultAutoCommit​(boolean defaultAutoCommit)
        Sets the default "auto commit" setting for borrowed Connections
        Parameters:
        defaultAutoCommit - the default "auto commit" setting for borrowed Connections
      • setDefaultTransactionIsolation

        public void setDefaultTransactionIsolation​(int defaultTransactionIsolation)
        Sets the default "Transaction Isolation" setting for borrowed Connections
        Parameters:
        defaultTransactionIsolation - the default "Transaction Isolation" setting for returned Connections
      • setDefaultCatalog

        public void setDefaultCatalog​(java.lang.String defaultCatalog)
        Sets the default "catalog" setting for borrowed Connections
        Parameters:
        defaultCatalog - the default "catalog" setting for borrowed Connections
      • makeObject

        public java.lang.Object makeObject()
                                    throws java.lang.Exception
        Specified by:
        makeObject in interface org.apache.commons.pool.PoolableObjectFactory
        Throws:
        java.lang.Exception
      • initializeConnection

        protected void initializeConnection​(java.sql.Connection conn)
                                     throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • destroyObject

        public void destroyObject​(java.lang.Object obj)
                           throws java.lang.Exception
        Specified by:
        destroyObject in interface org.apache.commons.pool.PoolableObjectFactory
        Throws:
        java.lang.Exception
      • validateObject

        public boolean validateObject​(java.lang.Object obj)
        Specified by:
        validateObject in interface org.apache.commons.pool.PoolableObjectFactory
      • validateConnection

        public void validateConnection​(java.sql.Connection conn)
                                throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • passivateObject

        public void passivateObject​(java.lang.Object obj)
                             throws java.lang.Exception
        Specified by:
        passivateObject in interface org.apache.commons.pool.PoolableObjectFactory
        Throws:
        java.lang.Exception
      • activateObject

        public void activateObject​(java.lang.Object obj)
                            throws java.lang.Exception
        Specified by:
        activateObject in interface org.apache.commons.pool.PoolableObjectFactory
        Throws:
        java.lang.Exception