Re: pgsql XA with weblogic 8.1?
От | Jan de Visser |
---|---|
Тема | Re: pgsql XA with weblogic 8.1? |
Дата | |
Msg-id | 200511281506.39492.jdevisser@digitalfairway.com обсуждение исходный текст |
Ответ на | Re: pgsql XA with weblogic 8.1? (Jan de Visser <jdevisser@digitalfairway.com>) |
Ответы |
Re: pgsql XA with weblogic 8.1?
|
Список | 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@digitalfairway.com Baruk Khazad! Khazad ai-menu! --------------------------------------------------------------
В списке pgsql-jdbc по дате отправления: