public abstract class DruidAbstractDataSource extends WrapperAdapter implements DruidAbstractDataSourceMBean, DataSource, DataSourceProxy, Serializable
| 限定符和类型 | 类和说明 |
|---|---|
static class |
DruidAbstractDataSource.PhysicalConnectionInfo |
| 构造器和说明 |
|---|
DruidAbstractDataSource(boolean lockFair) |
isWrapperFor, unwrapclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetActiveCount, getCloseCount, getConnectCount, getConnectErrorCount, getCreateCount, getDestroyCount, getFilterClassNames, getPoolingCount, getRecycleCount, getRemoveAbandonedCountgetConnection, getConnectionisWrapperFor, unwrapgetDataSourceStatprivate static final long serialVersionUID
private static final Log LOG
public static final int DEFAULT_INITIAL_SIZE
public static final int DEFAULT_MAX_ACTIVE_SIZE
public static final int DEFAULT_MAX_IDLE
public static final int DEFAULT_MIN_IDLE
public static final int DEFAULT_MAX_WAIT
public static final String DEFAULT_VALIDATION_QUERY
public static final boolean DEFAULT_TEST_ON_BORROW
public static final boolean DEFAULT_TEST_ON_RETURN
public static final boolean DEFAULT_WHILE_IDLE
public static final long DEFAULT_TIME_BETWEEN_EVICTION_RUNS_MILLIS
public static final long DEFAULT_TIME_BETWEEN_CONNECT_ERROR_MILLIS
public static final int DEFAULT_NUM_TESTS_PER_EVICTION_RUN
public static final long DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS
public static final long DEFAULT_MAX_EVICTABLE_IDLE_TIME_MILLIS
public static final long DEFAULT_PHY_TIMEOUT_MILLIS
protected volatile boolean defaultAutoCommit
protected volatile Boolean defaultReadOnly
protected volatile Integer defaultTransactionIsolation
protected volatile String defaultCatalog
protected String name
protected volatile String username
protected volatile String password
protected volatile String jdbcUrl
protected volatile String driverClass
protected volatile ClassLoader driverClassLoader
protected volatile Properties connectProperties
protected volatile PasswordCallback passwordCallback
protected volatile NameCallback userCallback
protected volatile int initialSize
protected volatile int maxActive
protected volatile int minIdle
protected volatile int maxIdle
protected volatile long maxWait
protected int notFullTimeoutRetryCount
protected volatile String validationQuery
protected volatile int validationQueryTimeout
protected volatile boolean testOnBorrow
protected volatile boolean testOnReturn
protected volatile boolean testWhileIdle
protected volatile boolean poolPreparedStatements
protected volatile boolean sharePreparedStatements
protected volatile int maxPoolPreparedStatementPerConnectionSize
protected volatile boolean inited
protected volatile boolean initExceptionThrow
protected PrintWriter logWriter
private boolean clearFiltersEnable
protected volatile ExceptionSorter exceptionSorter
protected Driver driver
protected volatile int queryTimeout
protected volatile int transactionQueryTimeout
protected long createTimespan
protected volatile int maxWaitThreadCount
protected volatile boolean accessToUnderlyingConnectionAllowed
protected volatile long timeBetweenEvictionRunsMillis
protected volatile int numTestsPerEvictionRun
protected volatile long minEvictableIdleTimeMillis
protected volatile long maxEvictableIdleTimeMillis
protected volatile long keepAliveBetweenTimeMillis
protected volatile long phyTimeoutMillis
protected volatile long phyMaxUseCount
protected volatile boolean removeAbandoned
protected volatile long removeAbandonedTimeoutMillis
protected volatile boolean logAbandoned
protected volatile int maxOpenPreparedStatements
protected volatile String dbType
protected volatile long timeBetweenConnectErrorMillis
protected volatile ValidConnectionChecker validConnectionChecker
protected final Map<DruidPooledConnection,Object> activeConnections
protected static final Object PRESENT
protected long id
protected int connectionErrorRetryAttempts
protected boolean breakAfterAcquireFailure
protected long transactionThresholdMillis
protected final Date createdTime
protected Date initedTime
protected volatile long errorCount
protected volatile long dupCloseCount
protected volatile long startTransactionCount
protected volatile long commitCount
protected volatile long rollbackCount
protected volatile long cachedPreparedStatementHitCount
protected volatile long preparedStatementCount
protected volatile long closedPreparedStatementCount
protected volatile long cachedPreparedStatementCount
protected volatile long cachedPreparedStatementDeleteCount
protected volatile long cachedPreparedStatementMissCount
static final AtomicLongFieldUpdater<DruidAbstractDataSource> errorCountUpdater
static final AtomicLongFieldUpdater<DruidAbstractDataSource> dupCloseCountUpdater
static final AtomicLongFieldUpdater<DruidAbstractDataSource> startTransactionCountUpdater
static final AtomicLongFieldUpdater<DruidAbstractDataSource> commitCountUpdater
static final AtomicLongFieldUpdater<DruidAbstractDataSource> rollbackCountUpdater
static final AtomicLongFieldUpdater<DruidAbstractDataSource> cachedPreparedStatementHitCountUpdater
static final AtomicLongFieldUpdater<DruidAbstractDataSource> preparedStatementCountUpdater
static final AtomicLongFieldUpdater<DruidAbstractDataSource> closedPreparedStatementCountUpdater
static final AtomicLongFieldUpdater<DruidAbstractDataSource> cachedPreparedStatementCountUpdater
static final AtomicLongFieldUpdater<DruidAbstractDataSource> cachedPreparedStatementDeleteCountUpdater
static final AtomicLongFieldUpdater<DruidAbstractDataSource> cachedPreparedStatementMissCountUpdater
protected final Histogram transactionHistogram
private boolean dupCloseLogEnable
private ObjectName objectName
protected volatile long executeCount
protected volatile long executeQueryCount
protected volatile long executeUpdateCount
protected volatile long executeBatchCount
static final AtomicLongFieldUpdater<DruidAbstractDataSource> executeQueryCountUpdater
static final AtomicLongFieldUpdater<DruidAbstractDataSource> executeUpdateCountUpdater
static final AtomicLongFieldUpdater<DruidAbstractDataSource> executeBatchCountUpdater
static final AtomicLongFieldUpdater<DruidAbstractDataSource> executeCountUpdater
protected volatile Throwable createError
protected volatile Throwable lastError
protected volatile long lastErrorTimeMillis
protected volatile Throwable lastCreateError
protected volatile long lastCreateErrorTimeMillis
protected volatile long lastCreateStartTimeMillis
protected boolean isOracle
protected boolean isMySql
protected boolean useOracleImplicitCache
protected ReentrantLock lock
protected Condition notEmpty
protected Condition empty
protected ReentrantLock activeConnectionLock
protected volatile int createErrorCount
protected volatile int creatingCount
protected volatile int directCreateCount
protected volatile long createCount
protected volatile long destroyCount
protected volatile long createStartNanos
static final AtomicIntegerFieldUpdater<DruidAbstractDataSource> createErrorCountUpdater
static final AtomicIntegerFieldUpdater<DruidAbstractDataSource> creatingCountUpdater
static final AtomicIntegerFieldUpdater<DruidAbstractDataSource> directCreateCountUpdater
static final AtomicLongFieldUpdater<DruidAbstractDataSource> createCountUpdater
static final AtomicLongFieldUpdater<DruidAbstractDataSource> destroyCountUpdater
static final AtomicLongFieldUpdater<DruidAbstractDataSource> createStartNanosUpdater
private Boolean useUnfairLock
private boolean useLocalSessionState
protected long timeBetweenLogStatsMillis
protected DruidDataSourceStatLogger statLogger
private boolean asyncCloseConnectionEnable
protected int maxCreateTaskCount
protected boolean failFast
protected volatile int failContinuous
protected volatile long failContinuousTimeMillis
protected ScheduledExecutorService destroyScheduler
protected ScheduledExecutorService createScheduler
static final AtomicLongFieldUpdater<DruidAbstractDataSource> failContinuousTimeMillisUpdater
static final AtomicIntegerFieldUpdater<DruidAbstractDataSource> failContinuousUpdater
protected boolean initVariants
protected boolean initGlobalVariants
protected volatile boolean onFatalError
protected volatile int onFatalErrorMaxActive
protected volatile int fatalErrorCount
protected volatile int fatalErrorCountLastShrink
protected volatile long lastFatalErrorTimeMillis
protected volatile String lastFatalErrorSql
protected volatile Throwable lastFatalError
protected volatile long connectionIdSeed
protected volatile long statementIdSeed
protected volatile long resultSetIdSeed
protected volatile long transactionIdSeed
protected volatile long metaDataIdSeed
static final AtomicLongFieldUpdater<DruidAbstractDataSource> connectionIdSeedUpdater
static final AtomicLongFieldUpdater<DruidAbstractDataSource> statementIdSeedUpdater
static final AtomicLongFieldUpdater<DruidAbstractDataSource> resultSetIdSeedUpdater
static final AtomicLongFieldUpdater<DruidAbstractDataSource> transactionIdSeedUpdater
static final AtomicLongFieldUpdater<DruidAbstractDataSource> metaDataIdSeedUpdater
public boolean isUseLocalSessionState()
public void setUseLocalSessionState(boolean useLocalSessionState)
public DruidDataSourceStatLogger getStatLogger()
public void setStatLoggerClassName(String className)
public void setStatLogger(DruidDataSourceStatLogger statLogger)
public long getTimeBetweenLogStatsMillis()
public void setTimeBetweenLogStatsMillis(long timeBetweenLogStatsMillis)
public boolean isOracle()
public void setOracle(boolean isOracle)
public boolean isUseUnfairLock()
public void setUseUnfairLock(boolean useUnfairLock)
public boolean isUseOracleImplicitCache()
public void setUseOracleImplicitCache(boolean useOracleImplicitCache)
public Throwable getLastCreateError()
public Throwable getLastError()
public long getLastErrorTimeMillis()
public Date getLastErrorTime()
public long getLastCreateErrorTimeMillis()
public Date getLastCreateErrorTime()
public int getTransactionQueryTimeout()
public void setTransactionQueryTimeout(int transactionQueryTimeout)
public long getExecuteCount()
public long getExecuteUpdateCount()
public long getExecuteQueryCount()
public long getExecuteBatchCount()
public long getAndResetExecuteCount()
public long getExecuteCount2()
public void incrementExecuteCount()
public void incrementExecuteUpdateCount()
public void incrementExecuteQueryCount()
public void incrementExecuteBatchCount()
public boolean isDupCloseLogEnable()
public void setDupCloseLogEnable(boolean dupCloseLogEnable)
public ObjectName getObjectName()
public void setObjectName(ObjectName objectName)
public Histogram getTransactionHistogram()
public void incrementCachedPreparedStatementCount()
public void decrementCachedPreparedStatementCount()
public void incrementCachedPreparedStatementDeleteCount()
public void incrementCachedPreparedStatementMissCount()
public long getCachedPreparedStatementMissCount()
public long getCachedPreparedStatementAccessCount()
public long getCachedPreparedStatementDeleteCount()
public long getCachedPreparedStatementCount()
public void incrementClosedPreparedStatementCount()
public long getClosedPreparedStatementCount()
public void incrementPreparedStatementCount()
public long getPreparedStatementCount()
public void incrementCachedPreparedStatementHitCount()
public long getCachedPreparedStatementHitCount()
public long getTransactionThresholdMillis()
public void setTransactionThresholdMillis(long transactionThresholdMillis)
public abstract void logTransaction(TransactionInfo info)
public long[] getTransactionHistogramValues()
public long[] getTransactionHistogramRanges()
public long getCommitCount()
getCommitCount 在接口中 DruidAbstractDataSourceMBeanpublic void incrementCommitCount()
public long getRollbackCount()
getRollbackCount 在接口中 DruidAbstractDataSourceMBeanpublic void incrementRollbackCount()
public long getStartTransactionCount()
public void incrementStartTransactionCount()
public boolean isBreakAfterAcquireFailure()
public void setBreakAfterAcquireFailure(boolean breakAfterAcquireFailure)
public int getConnectionErrorRetryAttempts()
public void setConnectionErrorRetryAttempts(int connectionErrorRetryAttempts)
public long getDupCloseCount()
getDupCloseCount 在接口中 DruidAbstractDataSourceMBeanpublic int getMaxPoolPreparedStatementPerConnectionSize()
public void setMaxPoolPreparedStatementPerConnectionSize(int maxPoolPreparedStatementPerConnectionSize)
public boolean isSharePreparedStatements()
public void setSharePreparedStatements(boolean sharePreparedStatements)
public void incrementDupCloseCount()
public ValidConnectionChecker getValidConnectionChecker()
public void setValidConnectionChecker(ValidConnectionChecker validConnectionChecker)
public String getValidConnectionCheckerClassName()
public void setValidConnectionCheckerClassName(String validConnectionCheckerClass) throws Exception
Exceptionpublic String getDbType()
getDbType 在接口中 DruidAbstractDataSourceMBeangetDbType 在接口中 DataSourceProxypublic void setDbType(String dbType)
public Collection<String> getConnectionInitSqls()
public void setConnectionInitSqls(Collection<? extends Object> connectionInitSqls)
public long getTimeBetweenConnectErrorMillis()
public void setTimeBetweenConnectErrorMillis(long timeBetweenConnectErrorMillis)
public int getMaxOpenPreparedStatements()
public void setMaxOpenPreparedStatements(int maxOpenPreparedStatements)
public boolean isLogAbandoned()
isLogAbandoned 在接口中 DruidAbstractDataSourceMBeanpublic void setLogAbandoned(boolean logAbandoned)
setLogAbandoned 在接口中 DruidAbstractDataSourceMBeanpublic int getRemoveAbandonedTimeout()
public void setRemoveAbandonedTimeout(int removeAbandonedTimeout)
public void setRemoveAbandonedTimeoutMillis(long removeAbandonedTimeoutMillis)
public long getRemoveAbandonedTimeoutMillis()
public boolean isRemoveAbandoned()
public void setRemoveAbandoned(boolean removeAbandoned)
public long getMinEvictableIdleTimeMillis()
public void setMinEvictableIdleTimeMillis(long minEvictableIdleTimeMillis)
public long getKeepAliveBetweenTimeMillis()
public void setKeepAliveBetweenTimeMillis(long keepAliveBetweenTimeMillis)
public long getMaxEvictableIdleTimeMillis()
public void setMaxEvictableIdleTimeMillis(long maxEvictableIdleTimeMillis)
public long getPhyTimeoutMillis()
public void setPhyTimeoutMillis(long phyTimeoutMillis)
public long getPhyMaxUseCount()
public void setPhyMaxUseCount(long phyMaxUseCount)
public int getNumTestsPerEvictionRun()
@Deprecated public void setNumTestsPerEvictionRun(int numTestsPerEvictionRun)
numTestsPerEvictionRun - public long getTimeBetweenEvictionRunsMillis()
public void setTimeBetweenEvictionRunsMillis(long timeBetweenEvictionRunsMillis)
public int getMaxWaitThreadCount()
public void setMaxWaitThreadCount(int maxWaithThreadCount)
public String getValidationQuery()
public void setValidationQuery(String validationQuery)
public int getValidationQueryTimeout()
public void setValidationQueryTimeout(int validationQueryTimeout)
public boolean isAccessToUnderlyingConnectionAllowed()
public void setAccessToUnderlyingConnectionAllowed(boolean accessToUnderlyingConnectionAllowed)
public boolean isTestOnBorrow()
isTestOnBorrow 在接口中 DruidAbstractDataSourceMBeanpublic void setTestOnBorrow(boolean testOnBorrow)
setTestOnBorrow 在接口中 DruidAbstractDataSourceMBeanpublic boolean isTestOnReturn()
isTestOnReturn 在接口中 DruidAbstractDataSourceMBeanpublic void setTestOnReturn(boolean testOnReturn)
public boolean isTestWhileIdle()
isTestWhileIdle 在接口中 DruidAbstractDataSourceMBeanpublic void setTestWhileIdle(boolean testWhileIdle)
setTestWhileIdle 在接口中 DruidAbstractDataSourceMBeanpublic boolean isDefaultAutoCommit()
public void setDefaultAutoCommit(boolean defaultAutoCommit)
public Boolean getDefaultReadOnly()
public void setDefaultReadOnly(Boolean defaultReadOnly)
public Integer getDefaultTransactionIsolation()
public void setDefaultTransactionIsolation(Integer defaultTransactionIsolation)
public String getDefaultCatalog()
public void setDefaultCatalog(String defaultCatalog)
public PasswordCallback getPasswordCallback()
public void setPasswordCallback(PasswordCallback passwordCallback)
public void setPasswordCallbackClassName(String passwordCallbackClassName) throws Exception
Exceptionpublic NameCallback getUserCallback()
public void setUserCallback(NameCallback userCallback)
public boolean isInitVariants()
public void setInitVariants(boolean initVariants)
public boolean isInitGlobalVariants()
public void setInitGlobalVariants(boolean initGlobalVariants)
public int getQueryTimeout()
Statement object to execute. If the limit
is exceeded, a SQLException is thrown.getQueryTimeout 在接口中 DruidAbstractDataSourceMBeanStatementsetQueryTimeout(int)public void setQueryTimeout(int seconds)
Statement object to execute to the given
number of seconds. If the limit is exceeded, an SQLException is thrown. A JDBC driver must apply
this limit to the execute, executeQuery and executeUpdate methods. JDBC
driver implementations may also apply this limit to ResultSet methods (consult your driver vendor
documentation for details).seconds - the new query timeout limit in seconds; zero means there is no limitgetQueryTimeout()public String getName()
getName 在接口中 DruidAbstractDataSourceMBeangetName 在接口中 DataSourceProxypublic void setName(String name)
public boolean isPoolPreparedStatements()
public abstract void setPoolPreparedStatements(boolean value)
public long getMaxWait()
getMaxWait 在接口中 DruidAbstractDataSourceMBeanpublic void setMaxWait(long maxWaitMillis)
public int getNotFullTimeoutRetryCount()
public void setNotFullTimeoutRetryCount(int notFullTimeoutRetryCount)
public int getMinIdle()
getMinIdle 在接口中 DruidAbstractDataSourceMBeanpublic void setMinIdle(int value)
public int getMaxIdle()
getMaxIdle 在接口中 DruidAbstractDataSourceMBean@Deprecated public void setMaxIdle(int maxIdle)
public int getInitialSize()
getInitialSize 在接口中 DruidAbstractDataSourceMBeanpublic void setInitialSize(int initialSize)
public long getCreateErrorCount()
public int getMaxActive()
getMaxActive 在接口中 DruidAbstractDataSourceMBeanpublic abstract void setMaxActive(int maxActive)
setMaxActive 在接口中 DruidAbstractDataSourceMBeanpublic String getUsername()
getUsername 在接口中 DruidAbstractDataSourceMBeanpublic void setUsername(String username)
public String getPassword()
public void setPassword(String password)
public Properties getConnectProperties()
getConnectProperties 在接口中 DataSourceProxypublic abstract void setConnectProperties(Properties properties)
public void setConnectionProperties(String connectionProperties)
public String getUrl()
getUrl 在接口中 DruidAbstractDataSourceMBeangetUrl 在接口中 DataSourceProxypublic String getRawJdbcUrl()
getRawJdbcUrl 在接口中 DataSourceProxypublic void setUrl(String jdbcUrl)
public String getDriverClassName()
public void setDriverClassName(String driverClass)
public ClassLoader getDriverClassLoader()
public void setDriverClassLoader(ClassLoader driverClassLoader)
public PrintWriter getLogWriter()
getLogWriter 在接口中 CommonDataSourcepublic void setLogWriter(PrintWriter out) throws SQLException
setLogWriter 在接口中 CommonDataSourceSQLExceptionpublic void setLoginTimeout(int seconds)
setLoginTimeout 在接口中 CommonDataSourcepublic int getLoginTimeout()
getLoginTimeout 在接口中 DruidAbstractDataSourceMBeangetLoginTimeout 在接口中 CommonDataSourcepublic Driver getDriver()
public void setDriver(Driver driver)
public int getDriverMajorVersion()
public int getDriverMinorVersion()
public ExceptionSorter getExceptionSorter()
public String getExceptionSorterClassName()
public void setExceptionSorter(ExceptionSorter exceptionSoter)
public void setExceptionSorterClassName(String exceptionSorter) throws Exception
Exceptionpublic void setExceptionSorter(String exceptionSorter) throws SQLException
SQLExceptionpublic List<Filter> getProxyFilters()
getProxyFilters 在接口中 DataSourceProxypublic String[] getFilterClasses()
public void setFilters(String filters) throws SQLException
SQLExceptionpublic void addFilters(String filters) throws SQLException
SQLExceptionpublic void clearFilters()
public void validateConnection(Connection conn) throws SQLException
SQLExceptionprotected boolean testConnectionInternal(Connection conn)
protected boolean testConnectionInternal(DruidConnectionHolder holder, Connection conn)
public Set<DruidPooledConnection> getActiveConnections()
public long getCreateTimespanNano()
public long getCreateTimespanMillis()
public Driver getRawDriver()
getRawDriver 在接口中 DataSourceProxypublic boolean isClearFiltersEnable()
public void setClearFiltersEnable(boolean clearFiltersEnable)
public long createConnectionId()
createConnectionId 在接口中 DataSourceProxypublic long createStatementId()
createStatementId 在接口中 DataSourceProxypublic long createMetaDataId()
createMetaDataId 在接口中 DataSourceProxypublic long createResultSetId()
createResultSetId 在接口中 DataSourceProxypublic long createTransactionId()
createTransactionId 在接口中 DataSourceProxyvoid initStatement(DruidPooledConnection conn, Statement stmt) throws SQLException
SQLExceptionpublic void handleConnectionException(DruidPooledConnection conn, Throwable t) throws SQLException
SQLExceptionpublic abstract void handleConnectionException(DruidPooledConnection conn, Throwable t, String sql) throws SQLException
SQLExceptionprotected abstract void recycle(DruidPooledConnection pooledConnection) throws SQLException
SQLExceptionpublic Connection createPhysicalConnection(String url, Properties info) throws SQLException
SQLExceptionpublic DruidAbstractDataSource.PhysicalConnectionInfo createPhysicalConnection() throws SQLException
SQLExceptionprotected void setCreateError(Throwable ex)
public boolean isFailContinuous()
protected void setFailContinuous(boolean fail)
public void initPhysicalConnection(Connection conn) throws SQLException
SQLExceptionpublic void initPhysicalConnection(Connection conn, Map<String,Object> variables, Map<String,Object> globalVariables) throws SQLException
SQLExceptionpublic abstract int getActivePeak()
public CompositeDataSupport getCompositeData() throws JMException
JMExceptionpublic long getID()
public Date getCreatedTime()
getCreatedTime 在接口中 DruidAbstractDataSourceMBeanpublic abstract int getRawDriverMajorVersion()
public abstract int getRawDriverMinorVersion()
public abstract String getProperties()
getProperties 在接口中 DruidAbstractDataSourceMBeanpublic Logger getParentLogger() throws SQLFeatureNotSupportedException
getParentLogger 在接口中 CommonDataSourceSQLFeatureNotSupportedExceptionpublic void closePreapredStatement(PreparedStatementHolder stmtHolder)
protected void cloneTo(DruidAbstractDataSource to)
public abstract void discardConnection(Connection realConnection)
public void discardConnection(DruidConnectionHolder holder)
public boolean isAsyncCloseConnectionEnable()
public void setAsyncCloseConnectionEnable(boolean asyncCloseConnectionEnable)
public ScheduledExecutorService getCreateScheduler()
public void setCreateScheduler(ScheduledExecutorService createScheduler)
public ScheduledExecutorService getDestroyScheduler()
public void setDestroyScheduler(ScheduledExecutorService destroyScheduler)
public boolean isInited()
public int getMaxCreateTaskCount()
public void setMaxCreateTaskCount(int maxCreateTaskCount)
public boolean isFailFast()
public void setFailFast(boolean failFast)
public int getOnFatalErrorMaxActive()
public void setOnFatalErrorMaxActive(int onFatalErrorMaxActive)
public boolean isOnFatalError()
public boolean isInitExceptionThrow()
public void setInitExceptionThrow(boolean initExceptionThrow)
Copyright © 2013–2019 Alibaba Group. All rights reserved.