|
View:
New views
2 Messages
—
Rating Filter:
Alert me
|
|
|
Jencks 2.0+Spring 2.0.2 transaction problemWe have Jencks 2.0, AMQ 4.1.0, and Spring 2.0.2 driving MD POJOs out of
a JCA pool in Resin. We need to do this because Resin is the TM and supplies the DB pooling. For the most part, it works. We've always had issues with XA transactions in this configuration, but one of them was _hopefully_ fixed in Jencks 2.0 with the XAEndpoint changes. Here's the scoop: * Hibernate flush generates a rollback from a deadlock at SpringSessionSynchronization:126 * AbstractPlatformTransactionManager:682 attempts to start a rollback from the thrown RuntimeException * AbstractPlatformTransactionManager:791 skips the UserTransaction rollback (JtaTransactionManager:794) at AbstractPlatformTransactionManager:795 because Spring originally got a transaction from Resin and it was marked as "not new" (AbstractPlatformTransactionManager:327 until 441, we use Required) * Things run until XAEndpoint:101, which branches to the commit at 105 because only the Spring transaction was marked for rollback, not the real one Should Jencks be cooperating more with Spring's PlatformTransactionManager, or what? This is causing rollbacks to turn into commits, and that's pretty annoying. :) -- Christopher G. Stach II --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email |
|
|
Re: Jencks 2.0+Spring 2.0.2 transaction problemChristopher G. Stach II wrote:
> We have Jencks 2.0, AMQ 4.1.0, and Spring 2.0.2 driving MD POJOs out of > a JCA pool in Resin. We need to do this because Resin is the TM and > supplies the DB pooling. For the most part, it works. We've always had > issues with XA transactions in this configuration, but one of them was > _hopefully_ fixed in Jencks 2.0 with the XAEndpoint changes. Here's the > scoop: > > * Hibernate flush generates a rollback from a deadlock at > SpringSessionSynchronization:126 > * AbstractPlatformTransactionManager:682 attempts to start a rollback > from the thrown RuntimeException > * AbstractPlatformTransactionManager:791 skips the UserTransaction > rollback (JtaTransactionManager:794) at > AbstractPlatformTransactionManager:795 because Spring originally got a > transaction from Resin and it was marked as "not new" > (AbstractPlatformTransactionManager:327 until 441, we use Required) > * Things run until XAEndpoint:101, which branches to the commit at 105 > because only the Spring transaction was marked for rollback, not the > real one > > Should Jencks be cooperating more with Spring's > PlatformTransactionManager, or what? This is causing rollbacks to turn > into commits, and that's pretty annoying. :) > This is being tracked in SPR-3052 for now, since I think it may be a Spring issue. I might hack Jencks to just coordinate with Spring's transaction to get this working, though. -- Christopher G. Stach II --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email |
| Free embeddable forum powered by Nabble | Forum Help |