Package org.apache.cayenne.datasource
Class ManagedPoolingDataSource
- java.lang.Object
-
- org.apache.cayenne.datasource.ManagedPoolingDataSource
-
- All Implemented Interfaces:
AutoCloseable
,Wrapper
,CommonDataSource
,DataSource
,PoolingDataSource
,ScopeEventListener
public class ManagedPoolingDataSource extends Object implements PoolingDataSource, ScopeEventListener
A wrapper forUnmanagedPoolingDataSource
that automatically manages the underlying connection pool size.- Since:
- 4.0
-
-
Constructor Summary
Constructors Constructor Description ManagedPoolingDataSource(UnmanagedPoolingDataSource dataSource)
ManagedPoolingDataSource(UnmanagedPoolingDataSource dataSource, long managerWakeTime)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
beforeScopeEnd()
Calls#shutdown()
to drain the underlying pool, close open connections and block the DataSource from creating any new connections.void
close()
Connection
getConnection()
Connection
getConnection(String username, String password)
int
getLoginTimeout()
PrintWriter
getLogWriter()
Logger
getParentLogger()
boolean
isWrapperFor(Class<?> iface)
void
setLoginTimeout(int arg0)
void
setLogWriter(PrintWriter arg0)
<T> T
unwrap(Class<T> iface)
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface javax.sql.CommonDataSource
createShardingKeyBuilder
-
Methods inherited from interface javax.sql.DataSource
createConnectionBuilder
-
-
-
-
Constructor Detail
-
ManagedPoolingDataSource
public ManagedPoolingDataSource(UnmanagedPoolingDataSource dataSource)
-
ManagedPoolingDataSource
public ManagedPoolingDataSource(UnmanagedPoolingDataSource dataSource, long managerWakeTime)
-
-
Method Detail
-
beforeScopeEnd
public void beforeScopeEnd()
Calls#shutdown()
to drain the underlying pool, close open connections and block the DataSource from creating any new connections.- Specified by:
beforeScopeEnd
in interfaceScopeEventListener
-
close
public void close()
- Specified by:
close
in interfaceAutoCloseable
-
getConnection
public Connection getConnection() throws SQLException
- Specified by:
getConnection
in interfaceDataSource
- Throws:
SQLException
-
getConnection
public Connection getConnection(String username, String password) throws SQLException
- Specified by:
getConnection
in interfaceDataSource
- Throws:
SQLException
-
getLogWriter
public PrintWriter getLogWriter() throws SQLException
- Specified by:
getLogWriter
in interfaceCommonDataSource
- Specified by:
getLogWriter
in interfaceDataSource
- Throws:
SQLException
-
getLoginTimeout
public int getLoginTimeout() throws SQLException
- Specified by:
getLoginTimeout
in interfaceCommonDataSource
- Specified by:
getLoginTimeout
in interfaceDataSource
- Throws:
SQLException
-
isWrapperFor
public boolean isWrapperFor(Class<?> iface) throws SQLException
- Specified by:
isWrapperFor
in interfaceWrapper
- Throws:
SQLException
-
setLogWriter
public void setLogWriter(PrintWriter arg0) throws SQLException
- Specified by:
setLogWriter
in interfaceCommonDataSource
- Specified by:
setLogWriter
in interfaceDataSource
- Throws:
SQLException
-
setLoginTimeout
public void setLoginTimeout(int arg0) throws SQLException
- Specified by:
setLoginTimeout
in interfaceCommonDataSource
- Specified by:
setLoginTimeout
in interfaceDataSource
- Throws:
SQLException
-
unwrap
public <T> T unwrap(Class<T> iface) throws SQLException
- Specified by:
unwrap
in interfaceWrapper
- Throws:
SQLException
-
getParentLogger
public Logger getParentLogger() throws SQLFeatureNotSupportedException
- Specified by:
getParentLogger
in interfaceCommonDataSource
- Throws:
SQLFeatureNotSupportedException
-
-