|
Apache Tomcat 7.0.25 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.tomcat.jdbc.pool.PoolProperties
public class PoolProperties
Nested Class Summary | |
---|---|
static class |
PoolProperties.InterceptorDefinition
|
static class |
PoolProperties.InterceptorProperty
|
Field Summary | |
---|---|
protected int |
abandonWhenPercentageFull
|
protected boolean |
accessToUnderlyingConnectionAllowed
|
protected boolean |
alternateUsernameAllowed
|
protected boolean |
commitOnReturn
|
protected java.lang.String |
connectionProperties
|
protected java.lang.Object |
dataSource
|
protected java.lang.String |
dataSourceJNDI
|
protected java.util.Properties |
dbProperties
|
static int |
DEFAULT_MAX_ACTIVE
|
protected java.lang.Boolean |
defaultAutoCommit
|
protected java.lang.String |
defaultCatalog
|
protected java.lang.Boolean |
defaultReadOnly
|
protected int |
defaultTransactionIsolation
|
protected java.lang.String |
driverClassName
|
protected boolean |
fairQueue
|
protected int |
initialSize
|
protected java.lang.String |
initSQL
|
protected PoolProperties.InterceptorDefinition[] |
interceptors
|
protected java.lang.String |
jdbcInterceptors
|
protected boolean |
jmxEnabled
|
protected boolean |
logAbandoned
|
protected int |
maxActive
|
protected long |
maxAge
|
protected int |
maxIdle
|
protected int |
maxWait
|
protected int |
minEvictableIdleTimeMillis
|
protected int |
minIdle
|
protected java.lang.String |
name
|
protected int |
numTestsPerEvictionRun
|
protected java.lang.String |
password
|
protected static java.util.concurrent.atomic.AtomicInteger |
poolCounter
|
protected boolean |
removeAbandoned
|
protected int |
removeAbandonedTimeout
|
protected boolean |
rollbackOnReturn
|
protected int |
suspectTimeout
|
protected boolean |
testOnBorrow
|
protected boolean |
testOnConnect
|
protected boolean |
testOnReturn
|
protected boolean |
testWhileIdle
|
protected int |
timeBetweenEvictionRunsMillis
|
protected java.lang.String |
url
|
protected boolean |
useEquals
|
protected boolean |
useLock
|
protected java.lang.String |
username
|
protected long |
validationInterval
|
protected java.lang.String |
validationQuery
|
protected Validator |
validator
|
protected java.lang.String |
validatorClassName
|
Fields inherited from interface org.apache.tomcat.jdbc.pool.PoolConfiguration |
---|
PKG_PREFIX |
Constructor Summary | |
---|---|
PoolProperties()
|
Method Summary | |
---|---|
int |
getAbandonWhenPercentageFull()
Connections that have been abandoned (timed out) wont get closed and reported up unless the number of connections in use are above the percentage defined by abandonWhenPercentageFull. |
boolean |
getCommitOnReturn()
|
java.lang.String |
getConnectionProperties()
The connection properties that will be sent to the JDBC driver when establishing new connections. |
java.lang.Object |
getDataSource()
Returns a datasource, if one exists that is being used to create connections. |
java.lang.String |
getDataSourceJNDI()
Returns the JNDI string configured for data source usage. |
java.util.Properties |
getDbProperties()
Returns the database properties that are passed into the Driver.connect(String, Properties) method. |
java.lang.Boolean |
getDefaultAutoCommit()
The default auto-commit state of connections created by this pool. |
java.lang.String |
getDefaultCatalog()
If non null, during connection creation the method Connection.setCatalog(String) will be called with the set value. |
java.lang.Boolean |
getDefaultReadOnly()
If non null, during connection creation the method Connection.setReadOnly(boolean) will be called with the set value. |
int |
getDefaultTransactionIsolation()
Returns the default transaction isolation level. |
java.lang.String |
getDriverClassName()
The fully qualified Java class name of the JDBC driver to be used. |
int |
getInitialSize()
Returns the number of connections that will be established when the connection pool is started. |
java.lang.String |
getInitSQL()
A custom query to be run when a connection is first created. |
java.lang.String |
getJdbcInterceptors()
A semicolon separated list of classnames extending JdbcInterceptor class. |
PoolProperties.InterceptorDefinition[] |
getJdbcInterceptorsAsArray()
Returns the PoolConfiguration.getJdbcInterceptors() as an array of objects with properties and the classes. |
int |
getMaxActive()
The maximum number of active connections that can be allocated from this pool at the same time. |
long |
getMaxAge()
Time in milliseconds to keep this connection alive even when used. |
int |
getMaxIdle()
The maximum number of connections that should be kept in the idle pool if PoolConfiguration.isPoolSweeperEnabled() returns false. |
int |
getMaxWait()
The maximum number of milliseconds that the pool will wait (when there are no available connections and the PoolConfiguration.getMaxActive() has been reached) for a connection to be returned
before throwing an exception. |
int |
getMinEvictableIdleTimeMillis()
The minimum amount of time an object must sit idle in the pool before it is eligible for eviction. |
int |
getMinIdle()
The minimum number of established connections that should be kept in the pool at all times. |
java.lang.String |
getName()
Returns the name of the connection pool. |
int |
getNumTestsPerEvictionRun()
Property not used |
java.lang.String |
getPassword()
Returns the password used when establishing connections to the database. |
static int |
getPoolCounter()
|
java.lang.String |
getPoolName()
|
static java.util.Properties |
getProperties(java.lang.String propText,
java.util.Properties props)
|
int |
getRemoveAbandonedTimeout()
The time in seconds before a connection can be considered abandoned. |
boolean |
getRollbackOnReturn()
|
int |
getSuspectTimeout()
Returns the time in seconds to pass before a connection is marked an abanoned suspect. |
int |
getTimeBetweenEvictionRunsMillis()
The number of milliseconds to sleep between runs of the idle connection validation, abandoned cleaner and idle pool resizing. |
java.lang.String |
getUrl()
The URL used to connect to the database |
boolean |
getUseLock()
Return true if a lock should be used when operations are performed on the connection object. |
java.lang.String |
getUsername()
Returns the username used to establish the connection with |
long |
getValidationInterval()
avoid excess validation, only run validation at most at this frequency - time in milliseconds. |
java.lang.String |
getValidationQuery()
The SQL query that will be used to validate connections from this pool before returning them to the caller or pool. |
Validator |
getValidator()
|
java.lang.String |
getValidatorClassName()
Return the name of the optional validator class - may be null. |
boolean |
isAccessToUnderlyingConnectionAllowed()
Property not used. |
boolean |
isAlternateUsernameAllowed()
Returns true if the call getConnection(username,password) is
allowed. |
java.lang.Boolean |
isDefaultAutoCommit()
The default auto-commit state of connections created by this pool. |
java.lang.Boolean |
isDefaultReadOnly()
If non null, during connection creation the method Connection.setReadOnly(boolean) will be called with the set value. |
boolean |
isFairQueue()
Returns true if a fair queue is being used by the connection pool |
boolean |
isJmxEnabled()
If set to true, the connection pool creates a ConnectionPoolMBean object
that can be registered with JMX to receive notifications and state about the pool. |
boolean |
isLogAbandoned()
boolean flag to set if stack traces should be logged for application code which abandoned a Connection. |
boolean |
isPoolSweeperEnabled()
Returns true if the pool sweeper is enabled for the connection pool. |
boolean |
isRemoveAbandoned()
boolean flag to remove abandoned connections if they exceed the removeAbandonedTimout. |
boolean |
isTestOnBorrow()
The indication of whether objects will be validated before being borrowed from the pool. |
boolean |
isTestOnConnect()
Returns true if we should run the validation query when connecting to the database for the first time on a connection. |
boolean |
isTestOnReturn()
The indication of whether objects will be validated after being returned to the pool. |
boolean |
isTestWhileIdle()
Set to true if query validation should take place while the connection is idle. |
boolean |
isUseEquals()
Set to true if you wish the ProxyConnection class to use String.equals instead of
== when comparing method names. |
void |
setAbandonWhenPercentageFull(int percentage)
Connections that have been abandoned (timed out) wont get closed and reported up unless the number of connections in use are above the percentage defined by abandonWhenPercentageFull. |
void |
setAccessToUnderlyingConnectionAllowed(boolean accessToUnderlyingConnectionAllowed)
No-op |
void |
setAlternateUsernameAllowed(boolean alternateUsernameAllowed)
Set to true if the call getConnection(username,password) is
allowed and honored.. |
void |
setCommitOnReturn(boolean commitOnReturn)
Set to true if you want the connection pool to commit any pending transaction when a connection is returned. |
void |
setConnectionProperties(java.lang.String connectionProperties)
The properties that will be passed into Driver.connect(String, Properties) method. |
void |
setDataSource(java.lang.Object ds)
Injects a datasource that will be used to retrieve/create connections. |
void |
setDataSourceJNDI(java.lang.String jndiDS)
Configure the connection pool to use a DataSource according to PoolConfiguration.setDataSource(Object)
But instead of injecting the object, specify the JNDI location. |
void |
setDbProperties(java.util.Properties dbProperties)
Overrides the database properties passed into the Driver.connect(String, Properties) method. |
void |
setDefaultAutoCommit(java.lang.Boolean defaultAutoCommit)
The default auto-commit state of connections created by this pool. |
void |
setDefaultCatalog(java.lang.String defaultCatalog)
If non null, during connection creation the method Connection.setCatalog(String) will be called with the set value. |
void |
setDefaultReadOnly(java.lang.Boolean defaultReadOnly)
If non null, during connection creation the method Connection.setReadOnly(boolean) will be called with the set value. |
void |
setDefaultTransactionIsolation(int defaultTransactionIsolation)
If set to DataSourceFactory.UNKNOWN_TRANSACTIONISOLATION the method
Connection.setTransactionIsolation(int) will not be called during connection creation. |
void |
setDriverClassName(java.lang.String driverClassName)
The fully qualified Java class name of the JDBC driver to be used. |
void |
setFairQueue(boolean fairQueue)
Set to true if you wish that calls to getConnection should be treated fairly in a true FIFO fashion. |
void |
setInitialSize(int initialSize)
Set the number of connections that will be established when the connection pool is started. |
void |
setInitSQL(java.lang.String initSQL)
A custom query to be run when a connection is first created. |
void |
setJdbcInterceptors(java.lang.String jdbcInterceptors)
A semicolon separated list of classnames extending JdbcInterceptor class. |
void |
setJmxEnabled(boolean jmxEnabled)
If set to true, the connection pool creates a ConnectionPoolMBean object
that can be registered with JMX to receive notifications and state about the pool. |
void |
setLogAbandoned(boolean logAbandoned)
boolean flag to set if stack traces should be logged for application code which abandoned a Connection. |
void |
setMaxActive(int maxActive)
The maximum number of active connections that can be allocated from this pool at the same time. |
void |
setMaxAge(long maxAge)
Time in milliseconds to keep this connection alive even when used. |
void |
setMaxIdle(int maxIdle)
The maximum number of connections that should be kept in the idle pool if PoolConfiguration.isPoolSweeperEnabled() returns false. |
void |
setMaxWait(int maxWait)
The maximum number of milliseconds that the pool will wait (when there are no available connections and the PoolConfiguration.getMaxActive() has been reached) for a connection to be returned
before throwing an exception. |
void |
setMinEvictableIdleTimeMillis(int minEvictableIdleTimeMillis)
The minimum amount of time an object must sit idle in the pool before it is eligible for eviction. |
void |
setMinIdle(int minIdle)
The minimum number of established connections that should be kept in the pool at all times. |
void |
setName(java.lang.String name)
Sets the name of the connection pool |
void |
setNumTestsPerEvictionRun(int numTestsPerEvictionRun)
Property not used |
void |
setPassword(java.lang.String password)
Sets the password to establish the connection with. |
void |
setRemoveAbandoned(boolean removeAbandoned)
boolean flag to remove abandoned connections if they exceed the removeAbandonedTimout. |
void |
setRemoveAbandonedTimeout(int removeAbandonedTimeout)
The time in seconds before a connection can be considered abandoned. |
void |
setRollbackOnReturn(boolean rollbackOnReturn)
Set to true if you want the connection pool to rollback any pending transaction when a connection is returned. |
void |
setSuspectTimeout(int seconds)
Similar to PoolConfiguration.setRemoveAbandonedTimeout(int) but instead of treating the connection
as abandoned, and potentially closing the connection, this simply logs the warning if
PoolConfiguration.isLogAbandoned() returns true. |
void |
setTestOnBorrow(boolean testOnBorrow)
The indication of whether objects will be validated before being borrowed from the pool. |
void |
setTestOnConnect(boolean testOnConnect)
Set to true if we should run the validation query when connecting to the database for the first time on a connection. |
void |
setTestOnReturn(boolean testOnReturn)
The indication of whether objects will be validated after being returned to the pool. |
void |
setTestWhileIdle(boolean testWhileIdle)
Set to true if query validation should take place while the connection is idle. |
void |
setTimeBetweenEvictionRunsMillis(int timeBetweenEvictionRunsMillis)
The number of milliseconds to sleep between runs of the idle connection validation, abandoned cleaner and idle pool resizing. |
void |
setUrl(java.lang.String url)
Sets the URL used to connect to the database |
void |
setUseEquals(boolean useEquals)
Set to true if you wish the ProxyConnection class to use String.equals instead of
== when comparing method names. |
void |
setUseLock(boolean useLock)
Set to true if a lock should be used when operations are performed on the connection object. |
void |
setUsername(java.lang.String username)
Sets the username used to establish the connection with It will also be a property called 'user' in the database properties. |
void |
setValidationInterval(long validationInterval)
avoid excess validation, only run validation at most at this frequency - time in milliseconds. |
void |
setValidationQuery(java.lang.String validationQuery)
The SQL query that will be used to validate connections from this pool before returning them to the caller or pool. |
void |
setValidator(Validator validator)
Sets the validator object If this is a non null object, it will be used as a validator instead of the validationQuery If this is null, remove the usage of the validator. |
void |
setValidatorClassName(java.lang.String className)
Set the name for an optional validator class which will be used in place of test queries. |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int DEFAULT_MAX_ACTIVE
protected static java.util.concurrent.atomic.AtomicInteger poolCounter
protected java.util.Properties dbProperties
protected java.lang.String url
protected java.lang.String driverClassName
protected java.lang.Boolean defaultAutoCommit
protected java.lang.Boolean defaultReadOnly
protected int defaultTransactionIsolation
protected java.lang.String defaultCatalog
protected java.lang.String connectionProperties
protected int initialSize
protected int maxActive
protected int maxIdle
protected int minIdle
protected int maxWait
protected java.lang.String validationQuery
protected java.lang.String validatorClassName
protected Validator validator
protected boolean testOnBorrow
protected boolean testOnReturn
protected boolean testWhileIdle
protected int timeBetweenEvictionRunsMillis
protected int numTestsPerEvictionRun
protected int minEvictableIdleTimeMillis
protected final boolean accessToUnderlyingConnectionAllowed
protected boolean removeAbandoned
protected int removeAbandonedTimeout
protected boolean logAbandoned
protected java.lang.String name
protected java.lang.String password
protected java.lang.String username
protected long validationInterval
protected boolean jmxEnabled
protected java.lang.String initSQL
protected boolean testOnConnect
protected java.lang.String jdbcInterceptors
protected boolean fairQueue
protected boolean useEquals
protected int abandonWhenPercentageFull
protected long maxAge
protected boolean useLock
protected PoolProperties.InterceptorDefinition[] interceptors
protected int suspectTimeout
protected java.lang.Object dataSource
protected java.lang.String dataSourceJNDI
protected boolean alternateUsernameAllowed
protected boolean commitOnReturn
protected boolean rollbackOnReturn
Constructor Detail |
---|
public PoolProperties()
Method Detail |
---|
public void setAbandonWhenPercentageFull(int percentage)
setAbandonWhenPercentageFull
in interface PoolConfiguration
percentage
- a value between 0 and 100 to indicate when connections that have been abandoned/timed out are considered abandonedpublic int getAbandonWhenPercentageFull()
getAbandonWhenPercentageFull
in interface PoolConfiguration
public boolean isFairQueue()
isFairQueue
in interface PoolConfiguration
public void setFairQueue(boolean fairQueue)
FairBlockingQueue
implementation for the list of the idle connections.
The default value is true.
This flag is required when you want to use asynchronous connection retrieval.
setFairQueue
in interface PoolConfiguration
public boolean isAccessToUnderlyingConnectionAllowed()
DataSource
interface
or call getConnection through reflection or cast the object as PooledConnection
isAccessToUnderlyingConnectionAllowed
in interface PoolConfiguration
public java.lang.String getConnectionProperties()
getConnectionProperties
in interface PoolConfiguration
public java.util.Properties getDbProperties()
Driver.connect(String, Properties)
method.
getDbProperties
in interface PoolConfiguration
Driver.connect(String, Properties)
method.public java.lang.Boolean isDefaultAutoCommit()
Connection.setAutoCommit(boolean)
method will not be called.)
isDefaultAutoCommit
in interface PoolConfiguration
public java.lang.String getDefaultCatalog()
Connection.setCatalog(String)
will be called with the set value.
getDefaultCatalog
in interface PoolConfiguration
public java.lang.Boolean isDefaultReadOnly()
Connection.setReadOnly(boolean)
will be called with the set value.
isDefaultReadOnly
in interface PoolConfiguration
public int getDefaultTransactionIsolation()
DataSourceFactory.UNKNOWN_TRANSACTIONISOLATION
the method
Connection.setTransactionIsolation(int)
will not be called during connection creation.
getDefaultTransactionIsolation
in interface PoolConfiguration
DataSourceFactory.UNKNOWN_TRANSACTIONISOLATION
if not set.public java.lang.String getDriverClassName()
getDriverClassName
in interface PoolConfiguration
public int getInitialSize()
getInitialSize
in interface PoolConfiguration
public boolean isLogAbandoned()
isLogAbandoned
in interface PoolConfiguration
public int getMaxActive()
getMaxActive
in interface PoolConfiguration
public int getMaxIdle()
PoolConfiguration.isPoolSweeperEnabled()
returns false.
If the If PoolConfiguration.isPoolSweeperEnabled()
returns true, then the idle pool can grow up to PoolConfiguration.getMaxActive()
and will be shrunk according to PoolConfiguration.getMinEvictableIdleTimeMillis()
setting.
Default value is maxActive:100
getMaxIdle
in interface PoolConfiguration
public int getMaxWait()
PoolConfiguration.getMaxActive()
has been reached) for a connection to be returned
before throwing an exception. Default value is 30000 (30 seconds)
getMaxWait
in interface PoolConfiguration
public int getMinEvictableIdleTimeMillis()
getMinEvictableIdleTimeMillis
in interface PoolConfiguration
public int getMinIdle()
PoolConfiguration.getInitialSize()
(also see PoolConfiguration.setTestWhileIdle(boolean)
The idle pool will not shrink below this value during an eviction run, hence the number of actual connections
can be between PoolConfiguration.getMinIdle()
and somewhere between PoolConfiguration.getMaxIdle()
and PoolConfiguration.getMaxActive()
getMinIdle
in interface PoolConfiguration
public java.lang.String getName()
getName
in interface PoolConfiguration
public int getNumTestsPerEvictionRun()
getNumTestsPerEvictionRun
in interface PoolConfiguration
public java.lang.String getPassword()
getPassword
in interface PoolConfiguration
public java.lang.String getPoolName()
getPoolName
in interface PoolConfiguration
PoolConfiguration.getName()
public boolean isRemoveAbandoned()
PoolConfiguration.getRemoveAbandonedTimeout()
and the condition for
PoolConfiguration.getAbandonWhenPercentageFull()
is met.
Setting this to true can recover db connections from applications that fail to close a connection.
See also PoolConfiguration.isLogAbandoned()
The default value is false.
isRemoveAbandoned
in interface PoolConfiguration
public int getRemoveAbandonedTimeout()
getRemoveAbandonedTimeout
in interface PoolConfiguration
ResetAbandonedTimer
public boolean isTestOnBorrow()
PoolConfiguration.setValidationInterval(long)
isTestOnBorrow
in interface PoolConfiguration
PoolConfiguration.getValidationInterval()
public boolean isTestOnReturn()
PoolConfiguration.setValidationInterval(long)
isTestOnReturn
in interface PoolConfiguration
PoolConfiguration.getValidationInterval()
public boolean isTestWhileIdle()
isTestWhileIdle
in interface PoolConfiguration
PoolConfiguration.setTimeBetweenEvictionRunsMillis(int)
public int getTimeBetweenEvictionRunsMillis()
getTimeBetweenEvictionRunsMillis
in interface PoolConfiguration
public java.lang.String getUrl()
getUrl
in interface PoolConfiguration
Driver.connect(String, Properties)
public java.lang.String getUsername()
getUsername
in interface PoolConfiguration
public java.lang.String getValidationQuery()
getValidationQuery
in interface PoolConfiguration
public java.lang.String getValidatorClassName()
getValidatorClassName
in interface PoolConfiguration
public Validator getValidator()
getValidator
in interface PoolConfiguration
public void setValidator(Validator validator)
setValidator
in interface PoolConfiguration
public long getValidationInterval()
getValidationInterval
in interface PoolConfiguration
public java.lang.String getInitSQL()
getInitSQL
in interface PoolConfiguration
public boolean isTestOnConnect()
isTestOnConnect
in interface PoolConfiguration
public java.lang.String getJdbcInterceptors()
JdbcInterceptor
class.
These interceptors will be inserted as an interceptor into the chain of operations on a java.sql.Connection object.
Example interceptors are StatementFinalizer
to close all
used statements during the session.
ResetAbandonedTimer
resets the timer upon every operation
on the connection or a statement.
ConnectionState
caches the auto commit, read only and catalog settings to avoid round trips to the DB.
The default value is null.
getJdbcInterceptors
in interface PoolConfiguration
public PoolProperties.InterceptorDefinition[] getJdbcInterceptorsAsArray()
PoolConfiguration.getJdbcInterceptors()
as an array of objects with properties and the classes.
getJdbcInterceptorsAsArray
in interface PoolConfiguration
public void setAccessToUnderlyingConnectionAllowed(boolean accessToUnderlyingConnectionAllowed)
setAccessToUnderlyingConnectionAllowed
in interface PoolConfiguration
accessToUnderlyingConnectionAllowed
- parameter ignoredpublic void setConnectionProperties(java.lang.String connectionProperties)
Driver.connect(String, Properties)
method.
Username and password do not need to be stored here, they will be passed into the properties right before the connection is established.
setConnectionProperties
in interface PoolConfiguration
connectionProperties
- properties - Format of the string is [propertyName=property;]*
Example: prop1=value1;prop2=value2public void setDbProperties(java.util.Properties dbProperties)
Driver.connect(String, Properties)
method.
setDbProperties
in interface PoolConfiguration
public void setDefaultAutoCommit(java.lang.Boolean defaultAutoCommit)
Connection.setAutoCommit(boolean)
method will not be called.)
setDefaultAutoCommit
in interface PoolConfiguration
defaultAutoCommit
- default auto commit setting, null is Driver default.public void setDefaultCatalog(java.lang.String defaultCatalog)
Connection.setCatalog(String)
will be called with the set value.
setDefaultCatalog
in interface PoolConfiguration
defaultCatalog
- null if not set and accepting the driver default.public void setDefaultReadOnly(java.lang.Boolean defaultReadOnly)
Connection.setReadOnly(boolean)
will be called with the set value.
setDefaultReadOnly
in interface PoolConfiguration
defaultReadOnly
- null if not set and accepting the driver default.public void setDefaultTransactionIsolation(int defaultTransactionIsolation)
DataSourceFactory.UNKNOWN_TRANSACTIONISOLATION
the method
Connection.setTransactionIsolation(int)
will not be called during connection creation. Otherwise the method
will be called with the isolation level set by this property.
setDefaultTransactionIsolation
in interface PoolConfiguration
defaultTransactionIsolation
- a value of Connection.TRANSACTION_NONE
, Connection.TRANSACTION_READ_COMMITTED
,
Connection.TRANSACTION_READ_UNCOMMITTED
, Connection.TRANSACTION_REPEATABLE_READ
,
Connection.TRANSACTION_SERIALIZABLE
or DataSourceFactory.UNKNOWN_TRANSACTIONISOLATION
The last value will not be set on the connection.public void setDriverClassName(java.lang.String driverClassName)
setDriverClassName
in interface PoolConfiguration
driverClassName
- a fully qualified Java class name of a Driver
implementation.public void setInitialSize(int initialSize)
PoolConfiguration.setMaxActive(int)
it will automatically be lowered.
setInitialSize
in interface PoolConfiguration
initialSize
- the number of connections to be established.public void setLogAbandoned(boolean logAbandoned)
setLogAbandoned
in interface PoolConfiguration
logAbandoned
- set to true if stack traces should be recorded when DataSourceProxy.getConnection()
is called.public void setMaxActive(int maxActive)
setMaxActive
in interface PoolConfiguration
maxActive
- hard limit for number of managed connections by this poolpublic void setMaxIdle(int maxIdle)
PoolConfiguration.isPoolSweeperEnabled()
returns false.
If the If PoolConfiguration.isPoolSweeperEnabled()
returns true, then the idle pool can grow up to PoolConfiguration.getMaxActive()
and will be shrunk according to PoolConfiguration.getMinEvictableIdleTimeMillis()
setting.
Default value is maxActive:100
setMaxIdle
in interface PoolConfiguration
maxIdle
- the maximum size of the idle poolpublic void setMaxWait(int maxWait)
PoolConfiguration.getMaxActive()
has been reached) for a connection to be returned
before throwing an exception. Default value is 30000 (30 seconds)
setMaxWait
in interface PoolConfiguration
maxWait
- the maximum number of milliseconds to wait.public void setMinEvictableIdleTimeMillis(int minEvictableIdleTimeMillis)
setMinEvictableIdleTimeMillis
in interface PoolConfiguration
minEvictableIdleTimeMillis
- the number of milliseconds a connection must be idle to be eligible for eviction.public void setMinIdle(int minIdle)
PoolConfiguration.getInitialSize()
(also see PoolConfiguration.setTestWhileIdle(boolean)
The idle pool will not shrink below this value during an eviction run, hence the number of actual connections
can be between PoolConfiguration.getMinIdle()
and somewhere between PoolConfiguration.getMaxIdle()
and PoolConfiguration.getMaxActive()
setMinIdle
in interface PoolConfiguration
minIdle
- the minimum number of idle or established connectionspublic void setName(java.lang.String name)
setName
in interface PoolConfiguration
name
- the name of the pool, should be unique in a runtime JVMpublic void setNumTestsPerEvictionRun(int numTestsPerEvictionRun)
setNumTestsPerEvictionRun
in interface PoolConfiguration
numTestsPerEvictionRun
- parameter ignored.public void setPassword(java.lang.String password)
setPassword
in interface PoolConfiguration
PoolConfiguration.getDbProperties()
public void setRemoveAbandoned(boolean removeAbandoned)
PoolConfiguration.getRemoveAbandonedTimeout()
and the condition for
PoolConfiguration.getAbandonWhenPercentageFull()
is met.
Setting this to true can recover db connections from applications that fail to close a connection.
See also PoolConfiguration.isLogAbandoned()
The default value is false.
setRemoveAbandoned
in interface PoolConfiguration
removeAbandoned
- set to true if abandoned connections can be closed and expelled out of the poolpublic void setRemoveAbandonedTimeout(int removeAbandonedTimeout)
setRemoveAbandonedTimeout
in interface PoolConfiguration
removeAbandonedTimeout
- the time in seconds before a used connection can be considered abandonedResetAbandonedTimer
public void setTestOnBorrow(boolean testOnBorrow)
PoolConfiguration.setValidationInterval(long)
setTestOnBorrow
in interface PoolConfiguration
testOnBorrow
- set to true if validation should take place before a connection is handed out to the applicationPoolConfiguration.getValidationInterval()
public void setTestWhileIdle(boolean testWhileIdle)
setTestWhileIdle
in interface PoolConfiguration
testWhileIdle
- true if validation should take place during idle checksPoolConfiguration.setTimeBetweenEvictionRunsMillis(int)
public void setTestOnReturn(boolean testOnReturn)
PoolConfiguration.setValidationInterval(long)
setTestOnReturn
in interface PoolConfiguration
testOnReturn
- true if validation should take place after a connection is returned to the poolPoolConfiguration.getValidationInterval()
public void setTimeBetweenEvictionRunsMillis(int timeBetweenEvictionRunsMillis)
setTimeBetweenEvictionRunsMillis
in interface PoolConfiguration
timeBetweenEvictionRunsMillis
- the sleep time in between validations in millisecondspublic void setUrl(java.lang.String url)
setUrl
in interface PoolConfiguration
url
- the configured URL for this connection poolDriver.connect(String, Properties)
public void setUsername(java.lang.String username)
setUsername
in interface PoolConfiguration
PoolConfiguration.getDbProperties()
public void setValidationInterval(long validationInterval)
setValidationInterval
in interface PoolConfiguration
validationInterval
- the validation interval in millisecondspublic void setValidationQuery(java.lang.String validationQuery)
setValidationQuery
in interface PoolConfiguration
validationQuery
- the query used for validation or null if no validation is performedpublic void setValidatorClassName(java.lang.String className)
setValidatorClassName
in interface PoolConfiguration
className
- the name of the optional validator classpublic void setInitSQL(java.lang.String initSQL)
setInitSQL
in interface PoolConfiguration
initSQL
- the init SQL used to run against the DB or null if no query should be executedpublic void setTestOnConnect(boolean testOnConnect)
PoolConfiguration.setInitSQL(String)
will override this setting, as the init SQL will be used instead of the validation query
setTestOnConnect
in interface PoolConfiguration
testOnConnect
- set to true if we should run the validation query upon connectpublic void setJdbcInterceptors(java.lang.String jdbcInterceptors)
JdbcInterceptor
class.
These interceptors will be inserted as an interceptor into the chain of operations on a java.sql.Connection object.
Example interceptors are StatementFinalizer
to close all
used statements during the session.
ResetAbandonedTimer
resets the timer upon every operation
on the connection or a statement.
ConnectionState
caches the auto commit, read only and catalog settings to avoid round trips to the DB.
The default value is null.
setJdbcInterceptors
in interface PoolConfiguration
jdbcInterceptors
- the interceptors that are used for connections.
Example format: 'ConnectionState(useEquals=true,fast=yes);ResetAbandonedTimer'public java.lang.String toString()
toString
in class java.lang.Object
public static int getPoolCounter()
public boolean isJmxEnabled()
ConnectionPoolMBean
object
that can be registered with JMX to receive notifications and state about the pool.
The ConnectionPool object doesn't register itself, as there is no way to keep a static non changing ObjectName across JVM restarts.
isJmxEnabled
in interface PoolConfiguration
public void setJmxEnabled(boolean jmxEnabled)
ConnectionPoolMBean
object
that can be registered with JMX to receive notifications and state about the pool.
The ConnectionPool object doesn't register itself, as there is no way to keep a static non changing ObjectName across JVM restarts.
setJmxEnabled
in interface PoolConfiguration
jmxEnabled
- set to to if the mbean object should be created upon startup.public java.lang.Boolean getDefaultAutoCommit()
Connection.setAutoCommit(boolean)
method will not be called.)
getDefaultAutoCommit
in interface PoolConfiguration
public java.lang.Boolean getDefaultReadOnly()
Connection.setReadOnly(boolean)
will be called with the set value.
getDefaultReadOnly
in interface PoolConfiguration
public int getSuspectTimeout()
getSuspectTimeout
in interface PoolConfiguration
public void setSuspectTimeout(int seconds)
PoolConfiguration.setRemoveAbandonedTimeout(int)
but instead of treating the connection
as abandoned, and potentially closing the connection, this simply logs the warning if
PoolConfiguration.isLogAbandoned()
returns true. If this value is equal or less than 0, no suspect
checking will be performed. Suspect checking only takes place if the timeout value is larger than 0 and
the connection was not abandoned or if abandon check is disabled. If a connection is suspect a WARN message gets
logged and a JMX notification gets sent once.
setSuspectTimeout
in interface PoolConfiguration
seconds
- - the amount of time in seconds that has to pass before a connection is marked suspect.public boolean isPoolSweeperEnabled()
isPoolSweeperEnabled
in interface PoolConfiguration
public boolean isUseEquals()
ProxyConnection
class to use String.equals
instead of
==
when comparing method names.
This property does not apply to added interceptors as those are configured individually.
The default value is false
.
isUseEquals
in interface PoolConfiguration
String.equals(Object)
instead of == when comparing method names on Connection
methodspublic void setUseEquals(boolean useEquals)
ProxyConnection
class to use String.equals
instead of
==
when comparing method names.
This property does not apply to added interceptors as those are configured individually.
The default value is false
.
setUseEquals
in interface PoolConfiguration
useEquals
- set to true if the pool should use String.equals(Object)
instead of ==
when comparing method names on Connection
methodspublic long getMaxAge()
getMaxAge
in interface PoolConfiguration
public void setMaxAge(long maxAge)
setMaxAge
in interface PoolConfiguration
maxAge
- the time in milliseconds a connection will be open for when usedpublic boolean getUseLock()
getUseLock
in interface PoolConfiguration
public void setUseLock(boolean useLock)
setUseLock
in interface PoolConfiguration
useLock
- set to true if a lock should be used on connection operationspublic void setDataSource(java.lang.Object ds)
PoolConfiguration.getUrl()
and PoolConfiguration.getDriverClassName()
methods are ignored
and not used by the pool. If the PoolConfiguration.getUsername()
and PoolConfiguration.getPassword()
values are set, the method DataSource.getConnection(String, String)
method will be called instead of the
DataSource.getConnection()
method.
If the data source implements XADataSource
the methods
XADataSource.getXAConnection()
and XADataSource.getXAConnection(String,String)
will be invoked.
setDataSource
in interface PoolConfiguration
ds
- the DataSource
to be used for creating connections to be pooled.public java.lang.Object getDataSource()
Driver
getDataSource
in interface PoolConfiguration
DataSource
to be used for creating connections to be pooled or null if a Driver is used.public void setDataSourceJNDI(java.lang.String jndiDS)
PoolConfiguration.setDataSource(Object)
But instead of injecting the object, specify the JNDI location.
After a successful JNDI look, the PoolConfiguration.getDataSource()
will not return null.
setDataSourceJNDI
in interface PoolConfiguration
jndiDS
- -the JNDI string @TODO specify the rules here.public java.lang.String getDataSourceJNDI()
getDataSourceJNDI
in interface PoolConfiguration
public static java.util.Properties getProperties(java.lang.String propText, java.util.Properties props)
public boolean isAlternateUsernameAllowed()
getConnection(username,password)
is
allowed. This is used for when the pool is used by an application accessing multiple schemas.
There is a performance impact turning this option on.
isAlternateUsernameAllowed
in interface PoolConfiguration
getConnection(username,password)
is honored, false if it is ignored.public void setAlternateUsernameAllowed(boolean alternateUsernameAllowed)
getConnection(username,password)
is
allowed and honored.. This is used for when the pool is used by an application accessing multiple schemas.
There is a performance impact turning this option on, even when not used due to username checks.
setAlternateUsernameAllowed
in interface PoolConfiguration
alternateUsernameAllowed
- - set true if getConnection(username,password)
is honored,
false if it is to be ignored.public void setCommitOnReturn(boolean commitOnReturn)
Connection.getAutoCommit()
returns false
setCommitOnReturn
in interface PoolConfiguration
commitOnReturn
- set to true if the pool should call Connection.commit()
when a connection is returned to the pool.
Default is falsepublic boolean getCommitOnReturn()
getCommitOnReturn
in interface PoolConfiguration
PoolConfiguration.setCommitOnReturn(boolean)
public void setRollbackOnReturn(boolean rollbackOnReturn)
Connection.getAutoCommit()
returns false
setRollbackOnReturn
in interface PoolConfiguration
rollbackOnReturn
- set to true if the pool should call Connection.rollback()
when a connection is returned to the pool.
Default is falsepublic boolean getRollbackOnReturn()
getRollbackOnReturn
in interface PoolConfiguration
PoolConfiguration.setRollbackOnReturn(boolean)
|
Apache Tomcat 7.0.25 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |