Class PoolableConnectionFactory

    • Constructor Detail

      • PoolableConnectionFactory

        public PoolableConnectionFactory​(ConnectionFactory connFactory,
                                         ObjectName dataSourceJmxObjectName)
        Creates a new PoolableConnectionFactory.
        Parameters:
        connFactory - the ConnectionFactory from which to obtain base Connections
        dataSourceJmxObjectName - The JMX object name, may be null.
    • Method Detail

      • getCacheState

        public boolean getCacheState()
        Returns:
        The cache state.
        Since:
        Made public in 2.6.0.
      • getConnectionFactory

        public ConnectionFactory getConnectionFactory()
        Returns:
        The connection factory.
        Since:
        Made public in 2.6.0.
      • getConnectionIndex

        protected AtomicLong getConnectionIndex()
      • getConnectionInitSqls

        public Collection<String> getConnectionInitSqls()
        Returns:
        The collection of initialization SQL statements.
        Since:
        2.6.0
      • getDataSourceJmxName

        public ObjectName getDataSourceJmxName()
        Returns:
        The data source JMX ObjectName
        Since:
        Made public in 2.6.0.
      • getDataSourceJmxObjectName

        public ObjectName getDataSourceJmxObjectName()
        Returns:
        The data source JMS ObjectName.
        Since:
        2.6.0
      • getDefaultAutoCommit

        public Boolean getDefaultAutoCommit()
        Returns:
        Default auto-commit value.
        Since:
        2.6.0
      • getDefaultCatalog

        public String getDefaultCatalog()
        Returns:
        Default catalog.
        Since:
        2.6.0
      • getDefaultQueryTimeout

        public Integer getDefaultQueryTimeout()
        Returns:
        Default query timeout in seconds.
      • getDefaultQueryTimeoutSeconds

        public Integer getDefaultQueryTimeoutSeconds()
        Returns:
        Default query timeout in seconds.
        Since:
        2.6.0
      • getDefaultReadOnly

        public Boolean getDefaultReadOnly()
        Returns:
        Default read-only-value.
        Since:
        2.6.0
      • getDefaultSchema

        public String getDefaultSchema()
        Returns:
        Default schema.
        Since:
        2.6.0
      • getDefaultTransactionIsolation

        public int getDefaultTransactionIsolation()
        Returns:
        Default transaction isolation.
        Since:
        2.6.0
      • getDisconnectionSqlCodes

        public Collection<String> getDisconnectionSqlCodes()
        SQL_STATE codes considered to signal fatal conditions.

        Overrides the defaults in Utils.DISCONNECTION_SQL_CODES (plus anything starting with Utils.DISCONNECTION_SQL_CODE_PREFIX). If this property is non-null and isFastFailValidation() is true, whenever connections created by this factory generate exceptions with SQL_STATE codes in this list, they will be marked as "fatally disconnected" and subsequent validations will fail fast (no attempt at isValid or validation query).

        If isFastFailValidation() is false setting this property has no effect.

        Returns:
        SQL_STATE codes overriding defaults
        Since:
        2.1
      • getMaxConnLifetimeMillis

        public long getMaxConnLifetimeMillis()
        Returns:
        Maximum connection lifetime in milliseconds.
        Since:
        2.6.0
      • getMaxOpenPreparedStatements

        protected int getMaxOpenPreparedStatements()
      • getPoolStatements

        public boolean getPoolStatements()
        Returns:
        Whether to pool statements.
        Since:
        Made public in 2.6.0.
      • getValidationQuery

        public String getValidationQuery()
        Returns:
        Validation query.
        Since:
        2.6.0
      • getValidationQueryTimeoutSeconds

        public int getValidationQueryTimeoutSeconds()
        Returns:
        Validation query timeout in seconds.
        Since:
        2.6.0
      • isAutoCommitOnReturn

        public boolean isAutoCommitOnReturn()
        Returns:
        Whether to auto-commit on return.
        Since:
        2.6.0
      • isEnableAutoCommitOnReturn

        @Deprecated
        public boolean isEnableAutoCommitOnReturn()
        Deprecated.
        Returns:
        Whether to auto-commit on return.
      • isFastFailValidation

        public boolean isFastFailValidation()
        True means that validation will fail immediately for connections that have previously thrown SQLExceptions with SQL_STATE indicating fatal disconnection errors.
        Returns:
        true if connections created by this factory will fast fail validation.
        Since:
        2.1, 2.5.0 Defaults to true, previous versions defaulted to false.
        See Also:
        setDisconnectionSqlCodes(Collection)
      • isRollbackOnReturn

        public boolean isRollbackOnReturn()
        Returns:
        Whether to rollback on return.
      • setAutoCommitOnReturn

        public void setAutoCommitOnReturn​(boolean autoCommitOnReturn)
      • setCacheState

        public void setCacheState​(boolean cacheState)
      • setClearStatementPoolOnReturn

        public void setClearStatementPoolOnReturn​(boolean clearStatementPoolOnReturn)
        Sets whether the pool of statements (which was enabled with setPoolStatements(boolean)) should be cleared when the connection is returned to its pool. Default is false.
        Parameters:
        clearStatementPoolOnReturn - clear or not
        Since:
        2.8.0
      • setConnectionInitSql

        public void setConnectionInitSql​(Collection<String> 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.
      • 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
      • setDefaultCatalog

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

        public void setDefaultQueryTimeout​(Integer defaultQueryTimeoutSeconds)
      • 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
      • setDefaultSchema

        public void setDefaultSchema​(String defaultSchema)
        Sets the default "schema" setting for borrowed Connections
        Parameters:
        defaultSchema - the default "schema" setting for borrowed Connections
        Since:
        2.5.0
      • 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
      • setDisconnectionSqlCodes

        public void setDisconnectionSqlCodes​(Collection<String> disconnectionSqlCodes)
        Parameters:
        disconnectionSqlCodes - The disconnection SQL codes.
        Since:
        2.1
        See Also:
        getDisconnectionSqlCodes()
      • setEnableAutoCommitOnReturn

        @Deprecated
        public void setEnableAutoCommitOnReturn​(boolean autoCommitOnReturn)
        Parameters:
        autoCommitOnReturn - Whether to auto-commit on return.
      • setFastFailValidation

        public void setFastFailValidation​(boolean fastFailValidation)
        Parameters:
        fastFailValidation - true means connections created by this factory will fast fail validation
        Since:
        2.1
        See Also:
        isFastFailValidation()
      • setMaxConnLifetimeMillis

        public void setMaxConnLifetimeMillis​(long maxConnLifetimeMillis)
        Sets the maximum lifetime in milliseconds of a connection after which the connection will always fail activation, passivation and validation. A value of zero or less indicates an infinite lifetime. The default value is -1.
        Parameters:
        maxConnLifetimeMillis - The maximum lifetime in milliseconds.
      • setMaxOpenPreparedStatements

        public void setMaxOpenPreparedStatements​(int maxOpenPreparedStatements)
        Sets the maximum number of open prepared statements.
        Parameters:
        maxOpenPreparedStatements - The maximum number of open prepared statements.
      • setMaxOpenPrepatedStatements

        @Deprecated
        public void setMaxOpenPrepatedStatements​(int maxOpenPreparedStatements)
        Deprecated due to typo in method name.
        Parameters:
        maxOpenPreparedStatements - The maximum number of open prepared statements.
      • setPoolStatements

        public void setPoolStatements​(boolean poolStatements)
      • setRollbackOnReturn

        public void setRollbackOnReturn​(boolean rollbackOnReturn)
      • setValidationQueryTimeout

        public void setValidationQueryTimeout​(int validationQueryTimeoutSeconds)
        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:
        validationQueryTimeoutSeconds - new validation query timeout value in seconds