|
From: Juergen H. <ju...@in...> - 2005-11-03 13:23:17
|
Actually, a RollbackException on the final commit might be appropriate, if the transaction has been marked as rollback-only by some process outside the application, with the application nevertheless invoking commit rather than rollback. It simply indicates that the commit did not succeed, at the appropriate place: that is, at transaction completion. However, we'd of course have to explicitly clarify what kind of Exception "resume" might throw that we can recover from. "TransactionManager.resume" doesn't declare a RollbackException, so it would - generally - have to be an InvalidTransactionException, IllegalStateException or SystemException. If it's a SystemException in case of JOTM, that's of course not particularly expressive... Juergen -----Original Message----- From: spr...@li... [mailto:spr...@li...] On Behalf Of Thomas Risberg Sent: Tuesday, November 01, 2005 5:59 PM To: spr...@li... Subject: Re: [Springframework-developer] Bug in suspend/resume of rolled back transaction wih JOTM? Andy, From what I can tell we get a SystemException on the resume call. If I trap that exception I get a subsequent RollbackException during the final commit processing of the JTA transaction. I'm not sure what the proper semantics are here, but I don't think this matches at all what we have seen from other JTA implementations. I know I did not see any of these exceptions using WebLogic in a similar situation with a suspended transaction being resumed. Thomas On Nov 1, 2005, at 11:38 AM, Andy Depue wrote: > On Saturday 29 October 2005 07:12 am, Juergen Hoeller wrote: > >> ... >> However, it's not clear to me what such a special >> JotmJtaTransactionManager would have to do to enforce a resume. There >> doesn't seem to be a "forceResume"-style method anywhere in the JOTM >> API. It might be worthwhile to check out Jonas's usage of JOTM: The >> Jonas EJB container essentially has the same requirement, needing to >> enforce a resume of a transaction. I would appreciate any help in >> finding out how to achieve this. >> > > I've received some initial feedback from JOTM and Jonas developers, > and they say that for JOTM, you can choose to ignore the > RollbackException at the point of "resume" to achieve a forced resume > (they said that the RollbackException is recoverable at this point, > and the transaction should still properly rollback when it is > finished). However, they are aware of a bug in which only the first > XA resource is re-enlisted with the transaction at resume (because it > is after the first "enlist" operation that the RollbackException is > thrown, thus causing their enlist loop to abort). They are planning > on patching this soon. > > - Andy > > > ------------------------------------------------------- > SF.Net email is sponsored by: > Tame your development challenges with Apache's Geronimo App Server. > Download > it for free - -and be entered to win a 42" plasma tv or your very own > Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php > _______________________________________________ > Springframework-developer mailing list > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer > > > ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php _______________________________________________ Springframework-developer mailing list Spr...@li... https://lists.sourceforge.net/lists/listinfo/springframework-developer |