JBoss Community

Re: jBPM 5.4 : LocalTaskService transaction handling with CMT transaction

created by gonzalad in jBPM - View the full discussion

I changed TaskServiceSession implementation with the one attached.

 

The change is localized in the catch(Runtime re) showed in the previous post.

 

I've change it like this :

 

 

} catch (RuntimeException re) {
    
  tpm.rollBackTransaction(transactionOwner);
 
 
  if (transactionOwner) {
      doOperationInTransaction(new TransactedOperation() {
          public void doOperation() {
              task.getTaskData().setStatus(Status.Error);
          }
      });
  }
 
 
  throw re;
} 
 

 

Explanation:

  • tpm.rollBackTransaction(transactionOwner) : this calls ut.setRollbackOnly(true) in the context of CMT transaction.
  • if (transactionOwner) : updating task SGBD table cannot be done in a CMT transaction when rollback has been requested (we would need to start a new transaction for this).




Reply to this message by going to Community

Start a new discussion in jBPM at Community