-
Bug
-
Resolution: Done
-
Major
-
SOA 4.2 CP03, jBPM 3.3.1 GA
-
None
-
None
As per Chapter 6.5 of the User Guide:
"When running in a cluster, jBPM synchronizes on the database. By default with optimistic locking. This means that each operation is performed in a transaction. And if at the end a collision is detected, then the transaction is rolled back and has to be handled. E.g. by a retry. So optimistic locking exceptions are usually part of the normal operation. Therefor, by default, the org.hibernate.StateObjectStateExceptions the that hibernate throws in that case are not logged with error and a stack trace, but instead a simple info message 'optimistic locking failed' is displayed.
Hibernate itself will log the StateObjectStateException including a stack trace. If you want to get rid of these stack traces, put the level of org.hibernate.event.def.AbstractFlushingEventListener to FATAL. "
This does not work when the JtaDbPersistenceServiceFactory is used, as JtaDbPersistenceService.endUserTransaction() throws a JbpmException, and not a JbpmPersistenceException.