Configure process engine instance to execute single process instance in a set of processes


Suppose I have 6 process definitions in my model, A, B, C, D, E, and F. Each of the processes is started by receiving an event message from Kafka. Each process performs different functionality based on a different event message, so I modeled them independently.

Is it possible to configure a process engine instance to only execute 1 process instance of (A,B,C) at a time? I need exclusivity for these process instances because each process in (A,B,C) requires an exclusive use of a shared resource. The process instance execution for (A,B,C) will take some time to complete. I didn’t want to use thread or db locks, because that would result in deadlocking the process engine, or busy waiting trying to acquire a db lock. For process instances of D, E, and F it is okay if they execute in parallel in the same process engine.

Is there some way I could configure the process engine instance to accomplish this? Or perhaps change my models in some way?