AnsweredAssumed Answered

End terminate event vs Timer on Task

Question asked by zxu on Apr 15, 2019

Lets say you have two tasks running in parallel. Task#1 has a timer which cancel the task eventually. Task#2 has a timer which triggers a reminder but does not cancel the task. The branch of Task#1 eventually leads to an End terminate event which is intended to cancel the entire sub process.

 

 

 

An exception is thrown when the end terminate event is reached: 

 

Caused by: org.h2.jdbc.JdbcSQLException: Referential integrity constraint violation: "ACT_FK_EXE_PARENT: PUBLIC.ACT_RU_EXECUTION FOREIGN KEY(PARENT_ID_) REFERENCES PUBLIC.ACT_RU_EXECUTION(ID_) ('42')"; SQL statement:
delete from ACT_RU_EXECUTION where ID_ = ? and REV_ = ? [23503-197]

 

I believe it is because of the timer. It is true that this is can be solved by some script (e.g. complete the task in script before the end). But I wonder if there is a nicer/cleaner solution. 

 

Without the timer, no exception is thrown. 

 

version

org.activiti.core.common: 7.0.3

activiti-engine 7.0.50

 

Thanks in advance.

Outcomes