Multiple dmn engines for Parallel processing.

func1(){
d1=DmnEngineConfiguration.createDefaultDmnEngineConfiguration().buildEngine();
return d1.evaluateDecisionTable(decision, variables);}

CompletableFuture.supplyAsync(() → var1.equalsIgnoreCase(“true”) ? func1() : func2(), executorService ); futures.add(future);

For Parallel evaluation using dmn engines, can we achieve it using the above lines where we instantiate a new dmn engine, everytime we evaluate a decision. Is there any documentation for this?. Or is there any other approach for achieving paralell processing?

@Sanju_Srinivasan, In Camunda (especially Camunda 8), you cannot directly configure multiple DMN engines in the way you might configure multiple instances of a microservice. However, you can scale DMN decision evaluation in parallel by applying one or more of the following approaches.

Camunda 8 uses Zeebe and separates DMN evaluation into job workers, often invoked from BPMN processes. To scale DMN evaluations in parallel:

  1. Use BPMN with Parallel Multi-Instance Call Activities or Service Tasks
  2. Scale Your Workers Horizontally
  3. Split DMN Logic Across Separate BPMN Flows

If you have several independent DMN tables, you can trigger their evaluation in different BPMN process instances in parallel.