-
Bug
-
Resolution: Done
-
Major
-
jBPM 3.2.9
-
None
In case that commit() throws an exception (e.g. StaleObjectStateException) in DbPersistenceService.endTransaction(), rollback() will be called. And then, if rollback() also throws an exception, a client application will get the latter exception (Usually, it would be java.lang.IllegalStateException: BaseTransaction.rollback - [com.arjuna.ats.internal.jta.transaction.arjunacore.notx] [com.arjuna.ats.internal.jta.transaction.arjunacore.notx] no transaction! ).
public void endTransaction() {
if (!isTransactionRollbackOnly()) {
Exception commitException = commit();
if (commitException != null)
}
It is not a desirable behaviour. It's better to catch the exception on rollback, log it and throw the exception on commit.
- is related to
-
JBPM-3274 the Exception on rollback hides the original Exception on commit in DbPersistenceService.endTransaction()
- Resolved