Asynchronous Tasks

If a Service Task (which returns void) is marked as “flowable:async=true” in BPMN process definition so as to make it asynchronous, do I have to make the service implement “FlowableFutureJavaDelegate” or implement “JavaDelegate” only?

Question: what is the difference between the following 2 combinations?

flowable:async=true + ServiceTask class implements JavaDelegate

flowable:async=true + ServiceTask class implements FlowableFutureJavaDelegate

Hey @damonx,

The best play to understand the difference between the two is to have a look at the True Parallel Service Task Execution with Flowable blog post.

In a nutshell the idea of the FlowableFutureJavaDelegate is to execute things in parallel in the same transaction. flowable:async=true is for executing things in parallel in separate transactions.


Thanks for the answer, Filip