Search code examples
javaspringspring-bootcamunda

camunda intercepting business process execution


Good afternoon!

I use Camunda BPM for managing business processes with Spring Boot Application.

I have several external tasks, and I use classes, which implements JavaDelegate, for handling these tasks.

Now I have this behavior: Start Event-> Task 1 -> Task 2 -> Task 3 -> End Event.

And I want to intecept this behavior to turn it into this way: Start Event -> Task 1 -> waiting for Button Click -> Task 2 -> Task 3 -> End Event. So, I want to suspend business process execution, and then resume it by clicking on a button.

I tried to use methods suspendProcessInstanceById (for stopping a BP execution) and activateProcessInstanceById (for resuming it), but these methods didn't work.

How can I do it?

Thanks in advance!


Solution

  • You should use Message. There is special event. In Java, you have to send message using

    org.camunda.bpm.engine.RuntimeService.messageEventReceived(...);