Shared process engine - what is processes.xml?

Hi guys,
I’d like to run a shared process engine. I am reading this:

And my question is: what is “src/main/resources/META-INF/processes.xml”? Is this like another source of .bmpn files?

To the best of my understanding, this provides for some global process configuration elements. In the example below, which is used in the WildFly container, we do the following:

  • Set the name of the deployment unit to MyProcessDeployment.

  • Set the property “isDeleteUponUndeploy” to false, which means that if we undeploy the process in the container (in this case WildFly), the processes will not also be deleted.

  • Set the property “isScanForProcessDefinitions” to true so that processes are created from the deployment.

  • Set the property “jobExecutorDeploymentAware” to true so that if you do not explicitly deploy a process to a server (e.g. one node of a cluster of Camunda servers sharing a common database), then Camunda will not attempt to run the process or its activities on that server. This prevents class not found or other errors where the process may be dependent upon an external resource only included in the actual deployment archive.

      <?xml version="1.0" encoding="UTF-8" ?>
        <process-archive name="MyProcessDeployment">
            <property name="isDeleteUponUndeploy">false</property>
            <property name="isScanForProcessDefinitions">true</property>
            <property name="jobExecutorDeploymentAware">true</property>

There are other properties and elements which may be set here also.



In addition to Michael’s excellent answer, see the documentation on processes.xml here: