> Von: "Jörg Heinicke" <Joerg.Heinicke_at_gmx.de>
> Datum: Tue, 13 Dec 2005 18:37:04 +0100 (MET)
> 
> I'm fighting with a NPE in XAPool's StandardXAConnection when having a
> connection error. I cause this connection error in my test case with a
> dead lock, which is recognized correctly, but probably not handled
> correctly by one of the involved components. My test involves Spring
> (declarative transaction management), Jencks, Tranql, XAPool and the
> Geronimo connector.
> 
> Actually the exception is thrown in
> org.tranql.connector.jdbc.PreparedStatementHandle, which informs the
> ConnectionHandle in the same package using connectionError(SQLException)
> [1]. Now it gets interesting. At the end this connection error is
> propagated to Geronimo's ConnectionEventListener, which causes the
> destruction of the ManagedXAConnection instance [2] and so the closing
> of the StandardXAConnection [3], which resets connectionHandle instance
> variable.
> 
> So far so good. Unfortunately after the destruction of the connection,
> the transactionally demarcated method is left and Spring's transaction
> manager causes a rollback due to the caught exception. This brings us
> back to StandardXAConnection and there the end(Xid, int) method. Inside
> of it the connectionHandle instance variable is accessed [4], but
> actually already null.
> 
> Now I would like to know who plays wrong in this game. Which component
> behaves not correctly and should be fixed? It might be difficult to say
> without more details, but I can probably provide more when needed.

Does nobody have any idea what's wrong?

To rephrase my questions:
May the ManagedConnection implementation immediately by destroyed on a
connection error with the effect of closing the physical connection (here
XAConnection implementation)? Is it correct or does it make sense at all to
cause a rollback after a connection error? Or must the XAConnection
implementation be able to handle a call to end(Xid, int) after close() has
already been called?

Regards,

Jörg

-- 
Telefonieren Sie schon oder sparen Sie noch?
NEU: GMX Phone_Flat http://www.gmx.net/de/go/telefonie

Reply via email to