1. Are you using xa?

2. assuming "yes", do you get a new (sql Connection) handle from the XAConnection for each connection handle request? If so, you might try:

-- when the XAConnection is first obtained, immediately get a sql Connection from it
-- when the adapter ConnectionFactory/Datasource hands out a sql Connection handle, wrap this single oracle sql Connection. If you never close even an oracle handle, perhaps they will last longer.
--when the ManagedConnection is destroyed, only then close the Oracle sql Connection.


Is this Oracle 10g?

Hope this helps

david

On Thursday, May 6, 2004, at 06:58 AM, Hamilton Verissimo de Oliveira (Engenharia - SPO) wrote:

-----Mensagem original-----
De: David Jencks [mailto:[EMAIL PROTECTED]

There is something wrong somewhere.  Can you locate the code in the
jdbc wrapper you are using that calls close on the oracle connection
and get a stack trace for when it is called?

I can, but I'm sure that is not being closed prematurely. I'm using
classes12_g.jar driver. I already exchange a message with an Oracle dev
asking why, for example, after the enlist the next call to getConnection
will throw "Connection Closed". That leads me to think Oracle driver has its
own personality :-)


In the current openejb jdbc wrapper, closing a connection handle does
not close the underlying connection.

Yup. I made a few test cases trying to reproduce the situation. I tested
with Oracle and HSQL. Didn't have success. Test cases passed, the my
application fails.


Is there some chance that you have obtained the underlying Oracle
connection and have closed it by mistake?

This is almost impossible. The connection is being created by the stack of
Connection interceptors and JBDC-JCA bridge. I don't have access to the
underlying connection...


I'll keep digging.


Cheers, hammett




Reply via email to