Description:
|
We are using JPA with hibernate 4.1.6, Spring 3.1.3, Weblogic 10.3.5 with JTA. We are facing an issue where runtime exceptions thrown from SynchronizationCallbackCoordinatorImpl.beforeCompletion don't propagate all the way up. Instead we are getting a Spring UnexpectedRollbackException wrapping a Weblogic AppSetRollbackOnlyException with the original cause no where to be found. This issue is very similar to the one reported here https://jira.springsource.org/browse/SPR-3149 against Spring where calling 'setRollbackOnly' on Weblogic's JTA transaction manager masks the original cause. In Spring's case, a fix was provided to not call 'setRollbackOnly' if the transaction manager is Weblogic and a runtime exception is being thrown from beforeCompletion.
Please note that 'setRollbackOnly' is called a second time in AbstractEntityManagerImpl when SynchronizationCallbackCoordinatorImpl.beforeCompletion is attempting to translate the runtime exception.
|