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
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.