On Monday 28 November 2005 14:19, Jan de Visser wrote:
> On Monday 28 November 2005 12:39, Kris Jurka wrote:
> > On Mon, 28 Nov 2005, Jan de Visser wrote:
> > > Any of you have experience yet using Heikki's newfangled XA
> > > implementation with weblogic 8.1? I'm getting the exception below.
> > >
> > > ERROR: Could not establish connection with database core
> > > Nested exception: <<null>>
> > > Unexpected exception while enlisting XAConnection
> > > java.sql.SQLException: XA error: XAER_RMERR : A resource manager error
> > > has occured in the transaction branch start() failed on resource
> > > 'dfc.core': XAER_RMERR : A resource manager error has occured in the
> > > transaction branch
> > > org.postgresql.xa.PGXAException: suspend/resume and join not
> > > implemented at
> > > org.postgresql.xa.PGXAConnection.start(PGXAConnection.java:103)
> >
> > I don't use weblogic, but you might try addding either or both of these
> > parameters:
> >
> > http://e-docs.bea.com/wls/docs90/wlsmbeanref/core/index.html
> > JDBCXAParamsBean.XaEndOnlyOnce
> > JDBCXAParamsBean.KeepXaConnTillTxComplete
>
> Thanks, but that didn't work.
>
> It seems that wl calls a start( xid, TMRESUME ) (or TMJOIN, but I guess
> TMRESUME would make more sense) even though it never called end( xid,
> TMSUSPEND ) before (this is from browsing the driver code).
>
> Would it make sense to silently ignore a TMRESUME if the same xid is still
> active? I can cook up a patch...
Well, that wasn't it. I debugged a bit, and it turns out that WL sends a
start(xid,TMJOIN) when committing entity EJBs. Don't ask me why (I'm not an
XA expert by any stretch of the imagination). What I did is took the
pragmatic approach, and allow a TMJOIN if the connection is in STATE_ENDED
and if the xid is the same as the current xid. This seems to work.
Would that be acceptable/make sense?
JdV!!
--
--------------------------------------------------------------
Jan de Visser jdevisser@digitalfairway.com
Baruk Khazad! Khazad ai-menu!
--------------------------------------------------------------