Multiple engines, one database. How to prevent jobs beeing exeuted with other Process Engine without deployment aware?


I have multiple tomcats running the camunda Process Engine with the same data base. It is development data base and every developer uses it for his locally development. If I do some code change in Camunda Workflow and want to test it locally, and it is a Job, that have to be executed, someties this Job is executed with not my local Process Engine Job Executer, and it leads to ClassNotFound Exception.

It is not possible to set all our Process Engines to deployment aware = true.

So there is a question, is there another way to prevent other Process Engines to grab my local Jobs within the same data base?


You could look at multi-tenancy options as documented here.

But, this could be more trouble than its worth. Curious as to why you need to share a DB in dev…



Can’t each developer have his own DB for the local development? Why does it have to be a shared one?

IMO there is no way to achieve what you want with a shared DB.

@DemonFrumpel if you disable the jobexecutor it will work fine.

JobExecutor wont work properly will lead to undesired results like ClassNotFoundException, etc.

For development purpose, you can find community edition of RDBMS vendor and install locally or remotely, if you use Oracle database then please create separate schema for local testing.

Hi. Thank you, this could help, but I think it’s not possible to have two deployments with different tenantIDs for a process which starts with a message start event…

sure its possible. Depending on how you setup multi-tenancy, if you use the REST API, you can name the engine instance in the path, of if using tenant Ids, the tenan Id can be a parameter…