| |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.springframework.jdbc.datasource.AbstractDataSource
|
+--org.springframework.jdbc.datasource.DriverManagerDataSource
|
+--org.springframework.jdbc.datasource.SingleConnectionDataSource
Implementation of SmartDataSource that wraps a single connection which is not closed after use. Obviously, this is not multi-threading capable.
Note that at shutdown, someone should close the underlying connection via the close() method. Client code will never call close on the connection handle if it is SmartDataSource-aware (e.g. uses DataSourceUtils.closeConnectionIfNecessary).
If client code will call close in the assumption of a pooled connection, like when using persistence toolkits, set suppressClose to true. This will return a close-suppressing proxy instead of the physical connection. Be aware that you will not be able to cast this to an OracleConnection anymore, for example.
This is primarily a test class. For example, it enables easy testing of code outside of an application server, in conjunction with a simple JNDI environment. In contrast to DriverManagerDataSource, it reuses the same connection all the time, avoiding excessive creation of physical connections.
| Constructor Summary | |
SingleConnectionDataSource()Constructor for bean-style configuration. | |
SingleConnectionDataSource(String driverClassName, String url, String username, String password, boolean suppressClose)Create a new SingleConnectionDataSource with the given standard DriverManager parameters. | |
SingleConnectionDataSource(Connection source, boolean suppressClose)Create a new SingleConnectionDataSource with a given connection. | |
| Method Summary | |
void | destroy()Close the underlying connection. |
Connection | getConnection() |
Connection | getConnection(String username, String password)Specifying a custom username and password doesn't make sense with a single connection. |
boolean | isSuppressClose()Return if the returned connection will be a close-suppressing proxy or the physical connection. |
void | setSuppressClose(boolean suppressClose)Set if the returned connection will be a close-suppressing proxy or the physical connection. |
boolean | shouldClose(Connection conn)This is a single connection: Do not close it when returning to the "pool". |
| Methods inherited from class org.springframework.jdbc.datasource.DriverManagerDataSource |
getDriverClassName, getPassword, getUrl, getUsername, setDriverClassName, setPassword, setUrl, setUsername |
| Methods inherited from class org.springframework.jdbc.datasource.AbstractDataSource |
getLoginTimeout, getLogWriter, setLoginTimeout, setLogWriter |
| Constructor Detail |
public SingleConnectionDataSource()
public SingleConnectionDataSource(String driverClassName, String url, String username, String password, boolean suppressClose)
throws CannotGetJdbcConnectionException
public SingleConnectionDataSource(Connection source, boolean suppressClose)
throws CannotGetJdbcConnectionException,
org.springframework.dao.InvalidDataAccessApiUsageException
| Method Detail |
public void destroy()
throws java.sql.SQLException
As this bean implements DisposableBean, a bean factory will automatically invoke this on destruction of its cached singletons.
public Connection getConnection()
throws java.sql.SQLException
public Connection getConnection(String username, String password)
throws java.sql.SQLException
public boolean isSuppressClose()
public void setSuppressClose(boolean suppressClose)
public boolean shouldClose(Connection conn)
| Association Links |
| |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||