Apache Tomcat 7.0.42

## org.apache.tomcat.jdbc.pool
Class DataSource

    java.lang.Object
      org.apache.tomcat.jdbc.pool.DataSourceProxy
          org.apache.tomcat.jdbc.pool.DataSource

All Implemented Interfaces:
  Wrapper, MBeanRegistration, CommonDataSource, ConnectionPoolDataSource, DataSource, ConnectionPoolMBean, PoolConfiguration

Direct Known Subclasses:
  XADataSource

    public class DataSource

extends DataSourceProxy
implements DataSource, MBeanRegistration, ConnectionPoolMBean, ConnectionPoolDataSource

A DataSource that can be instantiated through IoC and implements the DataSource interface since the DataSourceProxy is used as a generic proxy. The DataSource simply wraps a `ConnectionPool` in order to provide a standard interface to the user.

Version:
  1.0
Author:
  Filip Hanik

Field Summary
`protected ObjectName` `oname`

Fields inherited from class org.apache.tomcat.jdbc.pool.DataSourceProxy
`pool, poolProperties`

Fields inherited from interface org.apache.tomcat.jdbc.pool.PoolConfiguration
`PKG_PREFIX`

Constructor Summary
`DataSource()` Constructor for reflection only.
`DataSource(PoolConfiguration poolProperties)` Constructs a DataSource object wrapping a connection

Method Summary
`ObjectName` `createObjectName(ObjectName original)` Creates the ObjectName for the ConnectionPoolMBean object to be registered
`void` `postDeregister()` Unregisters the underlying connection pool mbean.
`void` `postRegister(Boolean registrationDone)` no-op
`void` `preDeregister()` no-op
`ObjectName` `preRegister(MBeanServer server, ObjectName name)` If the connection pool MBean exists, it will be registered during this operation.
`protected void` `registerJmx()` Registers the ConnectionPoolMBean under a unique name based on the ObjectName for the DataSource
`protected void` `unregisterJmx()`

Methods inherited from class org.apache.tomcat.jdbc.pool.DataSourceProxy

`checkAbandoned, checkIdle, close, close, createPool, getAbandonWhenPercentageFull, getActive, getCommitOnReturn, getConnection, getConnection, getConnectionAsync, getConnectionProperties, getDataSource, getDataSourceJNDI, getDbProperties, getDefaultAutoCommit, getDefaultCatalog, getDefaultReadOnly, getDefaultTransactionIsolation, getDriverClassName, getIdle, getInitialSize, getInitSQL, getJdbcInterceptors, getJdbcInterceptorsAsArray, getLoginTimeout, getLogValidationErrors, getLogWriter, getMaxActive, getMaxAge, getMaxIdle, getMaxWait, getMinEvictableIdleTimeMillis, getMinIdle, getName, getNumActive, getNumIdle, getNumTestsPerEvictionRun, getParentLogger, getPassword, getPool, getPooledConnection, getPooledConnection, getPoolName, getPoolProperties, getPoolSize, getPropagateInterruptState, getRemoveAbandonedTimeout, getRollbackOnReturn, getSize, getSuspectTimeout, getTimeBetweenEvictionRunsMillis, getUrl, getUseDisposableConnectionFacade, getUseLock, getUsername, getValidationInterval, getValidationQuery, getValidator, getValidatorClassName, getWaitCount, getXAConnection, getXAConnection, isAccessToUnderlyingConnectionAllowed, isAlternateUsernameAllowed, isDefaultAutoCommit, isDefaultReadOnly, isFairQueue, isJmxEnabled, isLogAbandoned, isPoolSweeperEnabled, isRemoveAbandoned, isTestOnBorrow, isTestOnConnect, isTestOnReturn, isTestWhileIdle, isUseEquals, isWrapperFor, purge, purgeOnReturn, setAbandonWhenPercentageFull, setAccessToUnderlyingConnectionAllowed, setAlternateUsernameAllowed, setCommitOnReturn, setConnectionProperties, setDataSource, setDataSourceJNDI, setDbProperties, setDefaultAutoCommit, setDefaultCatalog, setDefaultReadOnly, setDefaultTransactionIsolation, setDriverClassName, setFairQueue, setInitialSize, setInitSQL, setJdbcInterceptors, setJmxEnabled, setLogAbandoned, setLoginTimeout, setLogValidationErrors, setLogWriter, setMaxActive, setMaxAge, setMaxIdle, setMaxWait, setMinEvictableIdleTimeMillis, setMinIdle, setName, setNumTestsPerEvictionRun, setPassword, setPoolProperties, setPropagateInterruptState, setRemoveAbandoned, setRemoveAbandonedTimeout, setRollbackOnReturn, setSuspectTimeout, setTestOnBorrow, setTestOnConnect, setTestOnReturn, setTestWhileIdle, setTimeBetweenEvictionRunsMillis, setUrl, setUseDisposableConnectionFacade, setUseEquals, setUseLock, setUsername, setValidationInterval, setValidationQuery, setValidator, setValidatorClassName, testIdle, toString, unwrap`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface javax.sql.DataSource
`getConnection, getConnection`

Methods inherited from interface java.sql.Wrapper
`isWrapperFor, unwrap`

Methods inherited from interface org.apache.tomcat.jdbc.pool.jmx.ConnectionPoolMBean
`checkAbandoned, checkIdle, getActive, getIdle, getNumActive, getNumIdle, getSize, getWaitCount, purge, purgeOnReturn, testIdle`

Methods inherited from interface org.apache.tomcat.jdbc.pool.PoolConfiguration

`getAbandonWhenPercentageFull, getCommitOnReturn, getConnectionProperties, getDataSource, getDataSourceJNDI, getDbProperties, getDefaultAutoCommit, getDefaultCatalog, getDefaultReadOnly, getDefaultTransactionIsolation, getDriverClassName, getInitialSize, getInitSQL, getJdbcInterceptors, getJdbcInterceptorsAsArray, getLogValidationErrors, getMaxActive, getMaxAge, getMaxIdle, getMaxWait, getMinEvictableIdleTimeMillis, getMinIdle, getName, getNumTestsPerEvictionRun, getPassword, getPoolName, getPropagateInterruptState, getRemoveAbandonedTimeout, getRollbackOnReturn, getSuspectTimeout, getTimeBetweenEvictionRunsMillis, getUrl, getUseDisposableConnectionFacade, getUseLock, getUsername, getValidationInterval, getValidationQuery, getValidator, getValidatorClassName, isAccessToUnderlyingConnectionAllowed, isAlternateUsernameAllowed, isDefaultAutoCommit, isDefaultReadOnly, isFairQueue, isJmxEnabled, isLogAbandoned, isPoolSweeperEnabled, isRemoveAbandoned, isTestOnBorrow, isTestOnConnect, isTestOnReturn, isTestWhileIdle, isUseEquals, setAbandonWhenPercentageFull, setAccessToUnderlyingConnectionAllowed, setAlternateUsernameAllowed, setCommitOnReturn, setConnectionProperties, setDataSource, setDataSourceJNDI, setDbProperties, setDefaultAutoCommit, setDefaultCatalog, setDefaultReadOnly, setDefaultTransactionIsolation, setDriverClassName, setFairQueue, setInitialSize, setInitSQL, setJdbcInterceptors, setJmxEnabled, setLogAbandoned, setLogValidationErrors, setMaxActive, setMaxAge, setMaxIdle, setMaxWait, setMinEvictableIdleTimeMillis, setMinIdle, setName, setNumTestsPerEvictionRun, setPassword, setPropagateInterruptState, setRemoveAbandoned, setRemoveAbandonedTimeout, setRollbackOnReturn, setSuspectTimeout, setTestOnBorrow, setTestOnConnect, setTestOnReturn, setTestWhileIdle, setTimeBetweenEvictionRunsMillis, setUrl, setUseDisposableConnectionFacade, setUseEquals, setUseLock, setUsername, setValidationInterval, setValidationQuery, setValidator, setValidatorClassName`

Methods inherited from interface javax.sql.ConnectionPoolDataSource
`getPooledConnection, getPooledConnection`

Methods inherited from interface javax.sql.CommonDataSource
`getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriter`

Field Detail

### oname

    protected volatile ObjectName oname

Constructor Detail

### DataSource

    public DataSource()

  Constructor for reflection only. A default set of pool properties will be created.

### DataSource

    public DataSource(PoolConfiguration poolProperties)

  Constructs a DataSource object wrapping a connection

  Parameters:
    `poolProperties` -

Method Detail

### postDeregister

    public void postDeregister()

  Unregisters the underlying connection pool mbean.

  Specified by:
    `postDeregister` in interface `MBeanRegistration`

### postRegister

    public void postRegister(Boolean registrationDone)

  no-op

  Specified by:
    `postRegister` in interface `MBeanRegistration`

### preDeregister

    public void preDeregister()
                       throws Exception

  no-op

  Specified by:
    `preDeregister` in interface `MBeanRegistration`
  Throws:
    `Exception`

### preRegister

    public ObjectName preRegister(MBeanServer server,
                                  ObjectName name)
                           throws Exception

  If the connection pool MBean exists, it will be registered during this operation.

  Specified by:
    `preRegister` in interface `MBeanRegistration`
  Throws:
    `Exception`

### createObjectName

    public ObjectName createObjectName(ObjectName original)
                                throws MalformedObjectNameException

  Creates the ObjectName for the ConnectionPoolMBean object to be registered

  Parameters:
    `original` - the ObjectName for the DataSource
  Returns:
    the ObjectName for the ConnectionPoolMBean
  Throws:
    `MalformedObjectNameException`

### registerJmx

    protected void registerJmx()

  Registers the ConnectionPoolMBean under a unique name based on the ObjectName for the DataSource

### unregisterJmx

    protected void unregisterJmx()

Apache Tomcat 7.0.42

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.