Timer Boundary Event not called

Hi,

I’m a beginner here… so maybe the answer is trivial but I just can’t see it. Here’s my setup:

  • I’ve a service task and call Thread.Sleep(5000)… the execute method of the JavaImplementation
  • I’ve got a Timer Boundary Event attached to it set to Duration PT1S
    I assumed the event to fire before the execute me thod is done…
  • do I need to start the time somehow?
  • did I misunderstand something?

So, this actually needs a bit of a long explanation. Hope i’m able to explain it.

A timer event is is created when a commit hits the DB with the timer job.
this means when you’re running a java delegate class as part of a service task then there is no commit until it completes and by the time it completes the timer is out of scope.
So there is no way to use a timer boundary event on a service task that calls a Java Delegate. BUT you can use it with an external task. Because an external task commits it’s state before the code is executed and the code run is run remotely the timer is activated while the task is waiting to be locked up until a complete call comes back from the external worker.

Hope thats clear. :slight_smile:

2 Likes

Makes sense. Thanks for the in depth explanation.