The Oracle Spatial providers need access to the current OracleConnection (typed as OracleConnection). Unfortunately, in many environments such as JBoss or CP30 Connection Pool the JDBC connection is wrapped behind a generic JDBC Connection interface. Each environment will have some way to retrieve the original OracleConnection, but it is usually specific to that environment.
The solution is to provide a "ConnectionFinder" interface that specifies a finder method that returns an OracleConnection. A default implementation uses the current strategies for retrieving an
OracleConnection. Users of C3P0 or other connectionpools/containers/... can then create their own implementation that retrieves the native OracleConnection by whatever means possible.
See this discussion:
http://www.nabble.com/Re%3A-C3P0-Connection-pool-support-to15181513.html and
http://docs.codehaus.org/display/GEOTOOLS/J2EE+and+Connection+Pools.