Callable statements are not cached. Perhaps you would care to provide a patch?
That could be fun. =) I'll take a look through CVS -- who do I talk to about that?
But let me get back to my question first... obviously the JBoss caching implementation has to be independant of the DB driver caching implementation to work with all DBs... so JBoss must do its own caching separate from the DB driver caching.
So if i know I am working with Oracle drivers - meaning OracleDataSource and OracleCallableStatement - is seems like it would be pretty efficient to use the Oracle driver's caching instead of doing it at the JBoss level.
So how can I config my JBoss data source to allow me access to that? If you notice in my code I get the underlying OracleConnection and an OracleCallableStatement. How can I get an OracleDataSource?
I'm sure I'll actually get my question answered as I look through the code, but if you can give me some conceptual guidance that would be great.
Also... I can track the caching of OracleCallableStatements with the .creationState() method, and I can call the methods .getImplicitCachingEnabled() and .getStatementCacheSize() on an OracleConnection to see that Oracle caching is not on.
How can I check this on the Wrapped connections? Say I was using WrappedPreparedStatement objects... how would I do it then?
Using the OracleDataSource would make no sense since the pooling would not
take into account the JCA considerations (transactions/security).
There is no such exposure of those statistics, again provide a patch if you have an
The WrappedConnection doesn't even know about the cache since that it is a transient
object that just delegates to the ManagedConnection.
If you want to plugin vendor specific behaviour, it should be done via configuration
on the ManagedConnectionFactory. e.g. the check valid connection processing
Patches can be posted here:
JCA Development is discussed here (but that does not include user help):
The patch should include tests in the testsuite.
If the patch is any good you will get cvs r/w
A word of advice. Don't try to impress, just keep the code simple and to the point.