| java.lang.Object org.compass.gps.device.jdbc.datasource.AbstractDataSource org.compass.gps.device.jdbc.datasource.DriverManagerDataSource org.compass.gps.device.jdbc.datasource.SingleConnectionDataSource
SingleConnectionDataSource | public class SingleConnectionDataSource extends DriverManagerDataSource (Code) | | 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.releaseConnection ).
If client code will call close() in the assumption of a pooled
Connection, like when using persistence tools, 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 a native
OracleConnection or the like anymore (you need to use a NativeJdbcExtractor
for this then).
This is primarily intended for testing. For example, it enables easy testing
outside an application server, for code that expects to work on a DataSource.
In contrast to DriverManagerDataSource, it reuses the same Connection all the
time, avoiding excessive creation of physical Connections.
Taken from Spring
author: kimchy See Also: java.sql.Connection.close |
Method Summary | |
public void | destroy() Close the underlying connection. | protected Connection | getCloseSuppressingConnectionProxy(Connection target) Wrap the given Connection with a proxy that delegates every method call
to it but suppresses close calls. | public Connection | getConnection() | public Connection | getConnection(String username, String password) Specifying a custom username and password doesn't make sense with a
single connection. | protected void | init() Initialize the underlying connection via DriverManager. | protected void | init(Connection target) Initialize the underlying connection. | public boolean | isSuppressClose() Return if the returned connection will be a close-suppressing proxy or
the physical connection. | public void | setSuppressClose(boolean suppressClose) Set if the returned connection should be a close-suppressing proxy or the
physical connection. | public boolean | shouldClose(Connection con) This is a single connection: Do not close it when returning to the
"pool". |
SingleConnectionDataSource | public SingleConnectionDataSource()(Code) | | Constructor for bean-style configuration.
|
SingleConnectionDataSource | public SingleConnectionDataSource(String driverClassName, String url, String username, String password, boolean suppressClose) throws CannotGetJdbcConnectionException(Code) | | Create a new SingleConnectionDataSource with the given standard
DriverManager parameters.
Parameters: driverClassName - the JDBC driver class name Parameters: url - the JDBC URL to use for accessing the DriverManager Parameters: username - the JDBC username to use for accessing the DriverManager Parameters: password - the JDBC password to use for accessing the DriverManager Parameters: suppressClose - if the returned connection should be a close-suppressing proxyor the physical connection. See Also: java.sql.DriverManager.getConnection(StringStringString) |
SingleConnectionDataSource | public SingleConnectionDataSource(String url, String username, String password, boolean suppressClose) throws CannotGetJdbcConnectionException(Code) | | Create a new SingleConnectionDataSource with the given standard
DriverManager parameters.
Parameters: url - the JDBC URL to use for accessing the DriverManager Parameters: username - the JDBC username to use for accessing the DriverManager Parameters: password - the JDBC password to use for accessing the DriverManager Parameters: suppressClose - if the returned connection should be a close-suppressing proxyor the physical connection. See Also: java.sql.DriverManager.getConnection(StringStringString) |
SingleConnectionDataSource | public SingleConnectionDataSource(Connection target, boolean suppressClose)(Code) | | Create a new SingleConnectionDataSource with a given connection.
Parameters: target - underlying target connection Parameters: suppressClose - if the connection should be wrapped with a* connection thatsuppresses close() calls (to allow for normal close() usage inapplications that expect a pooled connection but do not knowour SmartDataSource interface). |
destroy | public void destroy() throws SQLException(Code) | | Close the underlying connection. The provider of this DataSource needs to
care for proper shutdown.
As this bean implements DisposableBean, a bean factory will automatically
invoke this on destruction of its cached singletons.
|
getCloseSuppressingConnectionProxy | protected Connection getCloseSuppressingConnectionProxy(Connection target)(Code) | | Wrap the given Connection with a proxy that delegates every method call
to it but suppresses close calls.
Parameters: target - the original Connection to wrap the wrapped Connection |
getConnection | public Connection getConnection(String username, String password) throws SQLException(Code) | | Specifying a custom username and password doesn't make sense with a
single connection. Returns the single connection if given the same
username and password, though.
|
init | protected void init() throws SQLException(Code) | | Initialize the underlying connection via DriverManager.
|
init | protected void init(Connection target)(Code) | | Initialize the underlying connection. Wraps the connection with a
close-suppressing proxy if necessary.
Parameters: target - the JDBC Connection to use |
isSuppressClose | public boolean isSuppressClose()(Code) | | Return if the returned connection will be a close-suppressing proxy or
the physical connection.
|
setSuppressClose | public void setSuppressClose(boolean suppressClose)(Code) | | Set if the returned connection should be a close-suppressing proxy or the
physical connection.
|
shouldClose | public boolean shouldClose(Connection con)(Code) | | This is a single connection: Do not close it when returning to the
"pool".
|
Fields inherited from org.compass.gps.device.jdbc.datasource.AbstractDataSource | final protected Log log(Code)(Java Doc)
|
|
|