What is the non-blocking API good for?

Hello,

the Camunda 8 API is non blocking, i.e. you can send a command and continue the processing before it’s completed. But all the examples and samples of Camunda 8 use send().join(), i.e. they call “join()“ immediately after calling “send”, effectively converting a non-blocking API into a blocking one.

So when and how can the non blocking feature of the API be used? Or was it just a tribute to the trend of making everything non blocking (even when everybody is using it in the blocking way)?

Can you show an example where the non blocking API does really provide a benefit?

Thank you!

The non-blocking API in Camunda 8 provides significant benefits for high-throughput workers, especially when dealing with I/O-heavy operations like REST calls, by allowing many jobs to be processed in parallel without blocking threads. I found the following relevant resources:

Does this help? If not, can anyone from the community jump in? :waving_hand:


:light_bulb: Hints: Use the Ask AI feature in Camunda’s documentation to chat with AI and get fast help. Report bugs and features in Camuda’s GitHub issue tracker. Trust the process. :robot: