The default persistence mechanism of the jBPM engine is based on the JPA 2/Hibernate implementation. Each engine operation (start process, start task, complete task, and so on) is run inside the scope of a transaction.
TransactionInterceptor demarcates each command execution and eventually, depending on the transaction management used (Container Managed Transactions (CMT) or UserTransaction Bean Managed Transactions (BMT)), enlists the EntityManager engine in the ongoing transaction. We have seen how both session and task persistence works through
CommandService and the interceptor architecture.
The default engine persistence configuration boils down to the engine persistence unit (defined in a
persistence.xml file ...