geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hamilton Verissimo de Oliveira (Engenharia - SPO)" <>
Subject Re: Reusing connections from JTA transactions
Date Thu, 06 May 2004 17:02:11 GMT
Ashamed! :-)

You're right. My Jdbc-JCA bridge was closing the connection on the cleanup


-----Mensagem original-----
De: David Jencks []
Enviada em: quinta-feira, 6 de maio de 2004 13:07
Assunto: Re: Reusing connections from JTA transactions

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


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

> -----Mensagem original-----
> De: David Jencks []
>> 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

View raw message