From: | Jan de Visser <jdevisser(at)digitalfairway(dot)com> |
---|---|
To: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: pgsql XA with weblogic 8.1? |
Date: | 2005-11-28 20:06:39 |
Message-ID: | 200511281506.39492.jdevisser@digitalfairway.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
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(at)digitalfairway(dot)com
Baruk Khazad! Khazad ai-menu!
--------------------------------------------------------------
From | Date | Subject | |
---|---|---|---|
Next Message | Benjamin Stookey | 2005-11-28 23:34:21 | Re: Deploying my application (nesting the jar) |
Previous Message | Jan de Visser | 2005-11-28 19:19:15 | Re: pgsql XA with weblogic 8.1? |