Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
org.apache.commons.dbcp.BasicDataSource
javax.sql.DataSource
that is
configured via JavaBeans properties. This is not the only way to
combine the commons-dbcp and commons-pool packages,
but provides a "one stop shopping" solution for basic requirements.
Method Summary | |
void |
|
void |
|
Connection |
|
Connection |
|
boolean |
|
String |
|
boolean |
|
int |
|
String |
|
int |
|
boolean |
|
PrintWriter |
|
int |
|
int |
|
int |
|
int |
|
long |
|
long |
|
int |
|
int |
|
int |
|
int |
|
String |
|
boolean |
|
int |
|
boolean |
|
boolean |
|
boolean |
|
long |
|
String | |
String |
|
String |
|
boolean |
|
boolean |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void | |
void |
|
void |
|
public void addConnectionProperty(String name, String value)
Add a custom connection property to the set that will be passed to our JDBC driver. This MUST be called before the first connection is retrieved (along with all the other configuration property setters). Calls to this method after the connection pool has been initialized have no effect.
- Parameters:
name
- Name of the custom connection propertyvalue
- Value of the custom connection property
public void close() throws SQLException
Close and release all connections that are currently stored in the connection pool associated with our data source.
public Connection getConnection() throws SQLException
Create (if necessary) and return a connection to the database.
- Returns:
- a database connection
public Connection getConnection(String username, String password) throws SQLException
BasicDataSource does NOT support this method.
- Parameters:
username
- Database user on whose behalf the Connection is being madepassword
- The database user's password
- Returns:
- nothing - always throws UnsupportedOperationException
public boolean getDefaultAutoCommit()
Returns the default auto-commit property.
- Returns:
- true if default auto-commit is enabled
public String getDefaultCatalog()
Returns the default catalog.
- Returns:
- the default catalog
public boolean getDefaultReadOnly()
Returns the default readOnly property.
- Returns:
- true if connections are readOnly by default
public int getDefaultTransactionIsolation()
Returns the default transaction isolation state of returned connections.
- Returns:
- the default value for transaction isolation state
- See Also:
Connection.getTransactionIsolation
public String getDriverClassName()
Returns the jdbc driver class name.
- Returns:
- the jdbc driver class name
public int getInitialSize()
Returns the initial size of the connection pool.
- Returns:
- the number of connections created when the pool is initialized
public boolean getLogAbandoned()
Deprecated.
Flag to log stack traces for application code which abandoned a Statement or Connection. Defaults to false. Logging of abandoned Statements and Connections adds overhead for every Connection open or new Statement because a stack trace has to be generated.
public PrintWriter getLogWriter() throws SQLException
Returns the log writer being used by this data source. CallscreateDataSource()
, so has the side effect of initializing the connection pool.
- Returns:
- log writer in use
public int getLoginTimeout() throws SQLException
Returns the login timeout (in seconds) for connecting to the database. CallscreateDataSource()
, so has the side effect of initializing the connection pool.
- Returns:
- login timeout in seconds
public int getMaxActive()
Returns the maximum number of active connections that can be allocated at the same time. A non-positive number means that there is no limit.
- Returns:
- the maximum number of active connections
public int getMaxIdle()
Returns the maximum number of connections that can remain idle in the pool. A negative value indicates that there is no limit
- Returns:
- the maximum number of idle connections
public int getMaxOpenPreparedStatements()
Gets the value of themaxOpenPreparedStatements
property.
- Returns:
- the maximum number of open statements
- See Also:
maxOpenPreparedStatements
public long getMaxWait()
Returns the maximum number of milliseconds that the pool will wait for a connection to be returned before throwing an exception. Returns -1 if the pool is set to wait indefinitely.
- Returns:
- the maxWait property value
public long getMinEvictableIdleTimeMillis()
Returns theminEvictableIdleTimeMillis
property.
- Returns:
- the value of the
minEvictableIdleTimeMillis
property
- See Also:
minEvictableIdleTimeMillis
public int getMinIdle()
Returns the minimum number of idle connections in the pool
- Returns:
- the minimum number of idle connections
- See Also:
GenericObjectPool.getMinIdle()
public int getNumActive()
[Read Only] The current number of active connections that have been allocated from this data source.
- Returns:
- the current number of active connections
public int getNumIdle()
[Read Only] The current number of idle connections that are waiting to be allocated from this data source.
- Returns:
- the current number of idle connections
public int getNumTestsPerEvictionRun()
Returns the value of thenumTestsPerEvictionRun
property.
- Returns:
- the number of objects to examine during idle object evictor runs
- See Also:
numTestsPerEvictionRun
public String getPassword()
Returns the password passed to the JDBC driver to establish connections.
- Returns:
- the connection password
public boolean getRemoveAbandoned()
Deprecated.
Flag to remove abandoned connections if they exceed the removeAbandonedTimout. Set to true or false, default false. If set to true a connection is considered abandoned and eligible for removal if it has been idle longer than the removeAbandonedTimeout. Setting this to true can recover db connections from poorly written applications which fail to close a connection.
public int getRemoveAbandonedTimeout()
Deprecated.
Timeout in seconds before an abandoned connection can be removed. Defaults to 300 seconds.
- Returns:
- abandoned connection timeout
public boolean getTestOnBorrow()
Returns thetestOnBorrow
property.
- Returns:
- true if objects are validated before being borrowed from the pool
- See Also:
testOnBorrow
public boolean getTestOnReturn()
Returns the value of thetestOnReturn
property.
- Returns:
- true if objects are validated before being returned to the pool
- See Also:
testOnReturn
public boolean getTestWhileIdle()
Returns the value of thetestWhileIdle
property.
- Returns:
- true if objects examined by the idle object evictor are validated
- See Also:
testWhileIdle
public long getTimeBetweenEvictionRunsMillis()
Returns the value of thetimeBetweenEvictionRunsMillis
property.
- Returns:
- the time (in miliseconds) between evictor runs
- See Also:
timeBetweenEvictionRunsMillis
public String getUrl()
Returns the JDBC connectionurl
property.
- Returns:
- the
url
passed to the JDBC driver to establish connections
public String getUsername()
Returns the JDBC connectionusername
property.
- Returns:
- the
username
passed to the JDBC driver to establish connections
public String getValidationQuery()
Returns the validation query used to validate connections before returning them.
- Returns:
- the SQL validation query
- See Also:
validationQuery
public boolean isAccessToUnderlyingConnectionAllowed()
Returns the value of the accessToUnderlyingConnectionAllowed property.
- Returns:
- true if access to the underlying connection is allowed, false otherwise.
public boolean isPoolPreparedStatements()
Returns true if we are pooling statements.
- Returns:
- true if prepared statements are pooled
public void removeConnectionProperty(String name)
Remove a custom connection property.
- Parameters:
name
- Name of the custom connection property to remove
- See Also:
addConnectionProperty(String,String)
public void setAccessToUnderlyingConnectionAllowed(boolean allow)
Sets the value of the accessToUnderlyingConnectionAllowed property. It controls if the PoolGuard allows access to the underlying connection. (Default: false) Note: this method currently has no effect once the pool has been initialized. The pool is initialized the first time one of the following methods is invoked:getConnection, setLogwriter, setLoginTimeout, getLoginTimeout, getLogWriter.
- Parameters:
allow
- Access to the underlying connection is granted when true.
public void setDefaultAutoCommit(boolean defaultAutoCommit)
Sets default auto-commit state of connections returned by this datasource. Note: this method currently has no effect once the pool has been initialized. The pool is initialized the first time one of the following methods is invoked:getConnection, setLogwriter, setLoginTimeout, getLoginTimeout, getLogWriter.
- Parameters:
defaultAutoCommit
- default auto-commit value
public void setDefaultCatalog(String defaultCatalog)
Sets the default catalog. Note: this method currently has no effect once the pool has been initialized. The pool is initialized the first time one of the following methods is invoked:getConnection, setLogwriter, setLoginTimeout, getLoginTimeout, getLogWriter.
- Parameters:
defaultCatalog
- the default catalog
public void setDefaultReadOnly(boolean defaultReadOnly)
Sets defaultReadonly property. Note: this method currently has no effect once the pool has been initialized. The pool is initialized the first time one of the following methods is invoked:getConnection, setLogwriter, setLoginTimeout, getLoginTimeout, getLogWriter.
- Parameters:
defaultReadOnly
- default read-only value
public void setDefaultTransactionIsolation(int defaultTransactionIsolation)
Sets the default transaction isolation state for returned connections. Note: this method currently has no effect once the pool has been initialized. The pool is initialized the first time one of the following methods is invoked:getConnection, setLogwriter, setLoginTimeout, getLoginTimeout, getLogWriter.
- Parameters:
defaultTransactionIsolation
- the default transaction isolation state
- See Also:
Connection.getTransactionIsolation
public void setDriverClassName(String driverClassName)
Sets the jdbc driver class name. Note: this method currently has no effect once the pool has been initialized. The pool is initialized the first time one of the following methods is invoked:getConnection, setLogwriter, setLoginTimeout, getLoginTimeout, getLogWriter.
- Parameters:
driverClassName
- the class name of the jdbc driver
public void setInitialSize(int initialSize)
Sets the initial size of the connection pool. Note: this method currently has no effect once the pool has been initialized. The pool is initialized the first time one of the following methods is invoked:getConnection, setLogwriter, setLoginTimeout, getLoginTimeout, getLogWriter.
- Parameters:
initialSize
- the number of connections created when the pool is initialized
public void setLogAbandoned(boolean logAbandoned)
Deprecated.
- Parameters:
logAbandoned
- new logAbandoned property value
public void setLogWriter(PrintWriter logWriter) throws SQLException
Sets the log writer being used by this data source. CallscreateDataSource()
, so has the side effect of initializing the connection pool.
- Parameters:
logWriter
- The new log writer
public void setLoginTimeout(int loginTimeout) throws SQLException
Set the login timeout (in seconds) for connecting to the database. CallscreateDataSource()
, so has the side effect of initializing the connection pool.
- Parameters:
loginTimeout
- The new login timeout, or zero for no timeout
public void setMaxActive(int maxActive)
Sets the maximum number of active connections that can be allocated at the same time.
- Parameters:
maxActive
- the new value for maxActive
- See Also:
getMaxActive()
public void setMaxIdle(int maxIdle)
Sets the maximum number of connections that can remail idle in the pool.
- Parameters:
maxIdle
- the new value for maxIdle
- See Also:
getMaxIdle()
public void setMaxOpenPreparedStatements(int maxOpenStatements)
Sets the value of themaxOpenPreparedStatements
property. Note: this method currently has no effect once the pool has been initialized. The pool is initialized the first time one of the following methods is invoked:getConnection, setLogwriter, setLoginTimeout, getLoginTimeout, getLogWriter.
- Parameters:
maxOpenStatements
- the new maximum number of prepared statements
- See Also:
maxOpenPreparedStatements
public void setMaxWait(long maxWait)
Sets the maxWait property.
- Parameters:
maxWait
- the new value for maxWait
- See Also:
getMaxWait()
public void setMinEvictableIdleTimeMillis(long minEvictableIdleTimeMillis)
Sets theminEvictableIdleTimeMillis
property.
- Parameters:
minEvictableIdleTimeMillis
- the minimum amount of time an object may sit idle in the pool
- See Also:
minEvictableIdleTimeMillis
public void setMinIdle(int minIdle)
Sets the minimum number of idle connections in the pool.
- Parameters:
minIdle
- the new value for minIdle
- See Also:
GenericObjectPool.setMinIdle(int)
public void setNumTestsPerEvictionRun(int numTestsPerEvictionRun)
Sets the value of thenumTestsPerEvictionRun
property.
- Parameters:
numTestsPerEvictionRun
- the newnumTestsPerEvictionRun
value
- See Also:
numTestsPerEvictionRun
public void setPassword(String password)
Sets thepassword
. Note: this method currently has no effect once the pool has been initialized. The pool is initialized the first time one of the following methods is invoked:getConnection, setLogwriter, setLoginTimeout, getLoginTimeout, getLogWriter.
- Parameters:
password
- new value for the password
public void setPoolPreparedStatements(boolean poolingStatements)
Sets whether to pool statements or not. Note: this method currently has no effect once the pool has been initialized. The pool is initialized the first time one of the following methods is invoked:getConnection, setLogwriter, setLoginTimeout, getLoginTimeout, getLogWriter.
- Parameters:
poolingStatements
- pooling on or off
public void setRemoveAbandoned(boolean removeAbandoned)
Deprecated.
- Parameters:
removeAbandoned
- new removeAbandoned property value
public void setRemoveAbandonedTimeout(int removeAbandonedTimeout)
Deprecated.
- Parameters:
removeAbandonedTimeout
- new removeAbandonedTimeout value
public void setTestOnBorrow(boolean testOnBorrow)
Sets thetestOnBorrow
property. This property determines whether or not the pool will validate objects before they are borrowed from the pool. For atrue
value to have any effect, thevalidationQuery
property must be set to a non-null string.
- Parameters:
testOnBorrow
- new value for testOnBorrow property
public void setTestOnReturn(boolean testOnReturn)
Sets thetestOnReturn
property. This property determines whether or not the pool will validate objects before they are returned to the pool. For atrue
value to have any effect, thevalidationQuery
property must be set to a non-null string.
- Parameters:
testOnReturn
- new value for testOnReturn property
public void setTestWhileIdle(boolean testWhileIdle)
Sets thetestWhileIdle
property. This property determines whether or not the idle object evictor will validate connections. For atrue
value to have any effect, thevalidationQuery
property must be set to a non-null string.
- Parameters:
testWhileIdle
- new value for testWhileIdle property
public void setTimeBetweenEvictionRunsMillis(long timeBetweenEvictionRunsMillis)
Sets thetimeBetweenEvictionRunsMillis
property.
- Parameters:
timeBetweenEvictionRunsMillis
- the new time between evictor runs
- See Also:
timeBetweenEvictionRunsMillis
public void setUrl(String url)
Sets theurl
. Note: this method currently has no effect once the pool has been initialized. The pool is initialized the first time one of the following methods is invoked:getConnection, setLogwriter, setLoginTimeout, getLoginTimeout, getLogWriter.
- Parameters:
url
- the new value for the JDBC connection url
public void setUsername(String username)
Sets theusername
. Note: this method currently has no effect once the pool has been initialized. The pool is initialized the first time one of the following methods is invoked:getConnection, setLogwriter, setLoginTimeout, getLoginTimeout, getLogWriter.
- Parameters:
username
- the new value for the JDBC connection username
public void setValidationQuery(String validationQuery)
Sets thevalidationQuery
. Note: this method currently has no effect once the pool has been initialized. The pool is initialized the first time one of the following methods is invoked:getConnection, setLogwriter, setLoginTimeout, getLoginTimeout, getLogWriter.
- Parameters:
validationQuery
- the new value for the validation query