Flowable does the synchronisation through the database. If you want to deploy different services with different models then you can’t share the Flowable database.
When you deploy a process then all services that share the same database are going to have access to that process and they would be able to run it.
You could circumvent this by using job categories. However, the fact that all services have access to all deployed processes will still be valid.
@filiphr
Actually i have shfited from camunda 7 where we have this property camunda.bpm.job-execution.deployment-aware=true , so job executor only picks up deployments that are registered with the process engine.so just wanna know that any similar functioanliy is available in flowable too? or job categories provide similar functioanlity
Hey @filiphr thanks for solution , just one more followup question what if i have multiple instance of same application running and i use your solution ,how can isolate execution for this , so whichever instance creates the job that instance job executor pick that job .
Why would you want to do this? I would assume that if you deploy your application to multiple nodes it does not matter which node will run the job.
In any case, we have an optimization in our job executor, that would schedule the job on the same instance it got created immediately after the transaction has committed. Only if the task executor queue on the node is full it will not do this so called “kick” and the job will be available for another node to pick it up.
like if i am using any in memory data which is available in that instance in which job was created and that job is picked by other instance job exectuor .then i guess it will cause issue
Also this optimization you mentioned is available bydefault or we have to enable this via any property?