wow! sounds great! It's an an amazing idea to unwrap the connections and statements on Platform level to support DB specific features.
Yes, when I modified the last connections factory (DBCP) to also call initializeJdbcConnection this opens up for all plaform impls to do similar stuff by overriding this method.
If it's used elsewhere we can move some of the simple unwrapping code, eg to the platform impl abstract base-class.
It's a bit tricky though since I am getting feedback on the user list that Oracle-connections under JBoss (even if unwrapped and assignable from oracle.jdbc.OracleConnection) refuse to set Oracle-specific statement caching. But as long as P6Spy and DBCP works and as long as managed platforms allow large BLOB/CLOB for unwrapped connections/statments I think it's fine to leave connection tuning to the J2EE container.
However, the Oracle9i platform have (finally!) stopped throwing exceptions if extensions can't be enabled so it should be more graceful and still work in unknown environments.
It used to be that lots of tests failed with Oracle9i + P6Spy and BlobTest failed with DBCP but now all of those combinations work. (The most interesting thing to debug is when using both Oracle10g JDBC-driver, DBCP *and* P6Spy when the connection has to be unwrapped 3 times.) :-)
I am not seeing any noticeable performance degradation caused by the unwrapping when running the tests, although this has to be verified by the users in real-world situations...
Regards, Martin
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
