we are (still) using activiti 22.214.171.124 and were creating a new process for our customer.
The process consists of some service tasks, most of them calling camel routes.
There is a part of the process which is needed to complete in a certain amount of time. If the time is up we need to set a variable in another service task and then we can end the whole process.
So we thought it might be a good idea to encapsulate the time relevant part into a scope (subprocess) and add a timer boundary element to it.
We then created some unit tests and saw that in the case that a service task is taking longer than the maximum wait time for the subprocess the timerboundary element is not firing or firing to late.
But the really bad thing is, that the process proceeds when the service task finally comes back and executes the next activity in the proces. In our case the next activity is to send an e-mail to the customer. That is to be prevented in the case that the timer has fired.
I created a small example project and put it on GitHub so perhaps you can have a look at it for better understanding.
I read that this may have something to do with locks and transactions in the database (Timer boundary event not supported for Service Task? ). But if this is the case and there is no way i need a workaround for this and hope that you may have one at hand :-)