Package org.apache.tomcat.dbcp.dbcp2
Class PoolingDataSource<C extends java.sql.Connection>
- java.lang.Object
-
- org.apache.tomcat.dbcp.dbcp2.PoolingDataSource<C>
-
- Type Parameters:
C
- The connection type
- All Implemented Interfaces:
java.lang.AutoCloseable
,java.sql.Wrapper
,javax.sql.CommonDataSource
,javax.sql.DataSource
- Direct Known Subclasses:
ManagedDataSource
public class PoolingDataSource<C extends java.sql.Connection> extends java.lang.Object implements javax.sql.DataSource, java.lang.AutoCloseable
- Since:
- 2.0
-
-
Constructor Summary
Constructors Constructor Description PoolingDataSource(ObjectPool<C> pool)
Constructs a new instance backed by the given connection pool.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Closes and free allConnection
s from the pool.java.sql.Connection
getConnection()
Returns aConnection
from my pool, according to the contract specified byObjectPool.borrowObject()
.java.sql.Connection
getConnection(java.lang.String uname, java.lang.String passwd)
ThrowsUnsupportedOperationException
int
getLoginTimeout()
ThrowsUnsupportedOperationException
.java.io.PrintWriter
getLogWriter()
Returns my log writer.java.util.logging.Logger
getParentLogger()
protected ObjectPool<C>
getPool()
boolean
isAccessToUnderlyingConnectionAllowed()
Returns the value of the accessToUnderlyingConnectionAllowed property.boolean
isWrapperFor(java.lang.Class<?> iface)
void
setAccessToUnderlyingConnectionAllowed(boolean allow)
Sets the value of the accessToUnderlyingConnectionAllowed property.void
setLoginTimeout(int seconds)
ThrowsUnsupportedOperationException
.void
setLogWriter(java.io.PrintWriter out)
Sets my log writer.<T> T
unwrap(java.lang.Class<T> iface)
-
-
-
Constructor Detail
-
PoolingDataSource
public PoolingDataSource(ObjectPool<C> pool)
Constructs a new instance backed by the given connection pool.- Parameters:
pool
- the given connection pool.
-
-
Method Detail
-
close
public void close() throws java.lang.RuntimeException, java.sql.SQLException
Closes and free allConnection
s from the pool.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Throws:
java.lang.RuntimeException
java.sql.SQLException
- Since:
- 2.1
-
getConnection
public java.sql.Connection getConnection() throws java.sql.SQLException
Returns aConnection
from my pool, according to the contract specified byObjectPool.borrowObject()
.- Specified by:
getConnection
in interfacejavax.sql.DataSource
- Throws:
java.sql.SQLException
-
getConnection
public java.sql.Connection getConnection(java.lang.String uname, java.lang.String passwd) throws java.sql.SQLException
ThrowsUnsupportedOperationException
- Specified by:
getConnection
in interfacejavax.sql.DataSource
- Throws:
java.lang.UnsupportedOperationException
- always thrownjava.sql.SQLException
-
getLoginTimeout
public int getLoginTimeout()
ThrowsUnsupportedOperationException
.- Specified by:
getLoginTimeout
in interfacejavax.sql.CommonDataSource
- Specified by:
getLoginTimeout
in interfacejavax.sql.DataSource
- Throws:
java.lang.UnsupportedOperationException
- As this implementation does not support this feature.
-
getLogWriter
public java.io.PrintWriter getLogWriter()
Returns my log writer.- Specified by:
getLogWriter
in interfacejavax.sql.CommonDataSource
- Specified by:
getLogWriter
in interfacejavax.sql.DataSource
- Returns:
- my log writer
- See Also:
DataSource.getLogWriter()
-
getParentLogger
public java.util.logging.Logger getParentLogger() throws java.sql.SQLFeatureNotSupportedException
- Specified by:
getParentLogger
in interfacejavax.sql.CommonDataSource
- Throws:
java.sql.SQLFeatureNotSupportedException
-
getPool
protected ObjectPool<C> getPool()
-
isAccessToUnderlyingConnectionAllowed
public boolean isAccessToUnderlyingConnectionAllowed()
Returns the value of the accessToUnderlyingConnectionAllowed property.- Returns:
- true if access to the underlying
Connection
is allowed, false otherwise.
-
isWrapperFor
public boolean isWrapperFor(java.lang.Class<?> iface) throws java.sql.SQLException
- Specified by:
isWrapperFor
in interfacejava.sql.Wrapper
- Throws:
java.sql.SQLException
-
setAccessToUnderlyingConnectionAllowed
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)- Parameters:
allow
- Access to the underlying connection is granted when true.
-
setLoginTimeout
public void setLoginTimeout(int seconds)
ThrowsUnsupportedOperationException
.- Specified by:
setLoginTimeout
in interfacejavax.sql.CommonDataSource
- Specified by:
setLoginTimeout
in interfacejavax.sql.DataSource
- Throws:
java.lang.UnsupportedOperationException
- As this implementation does not support this feature.
-
setLogWriter
public void setLogWriter(java.io.PrintWriter out)
Sets my log writer.- Specified by:
setLogWriter
in interfacejavax.sql.CommonDataSource
- Specified by:
setLogWriter
in interfacejavax.sql.DataSource
- See Also:
DataSource.setLogWriter(java.io.PrintWriter)
-
unwrap
public <T> T unwrap(java.lang.Class<T> iface) throws java.sql.SQLException
- Specified by:
unwrap
in interfacejava.sql.Wrapper
- Throws:
java.sql.SQLException
-
-