cancel
Showing results for 
Search instead for 
Did you mean: 

How to deploy Multi-tenant processes?

razorblade
Champ in-the-making
Champ in-the-making
Hi,

I have a number of tenants who share the same process definition, say "myProcessDefinition". However I get this error when i try to start a process by process key and Tenant ID.

<pre>
Caused by: org.activiti.engine.ActivitiObjectNotFoundException: no processes deployed with key 'myProcessDefinition' for tenant identifier 'someTenant'
at org.activiti.engine.impl.persistence.deploy.DeploymentManager.findDeployedLatestProcessDefinitionByKeyAndTenantId(DeploymentManager.java:157) ~[activiti-engine-5.21.0.jar:5.21.0]
   at org.activiti.engine.impl.cmd.StartProcessInstanceCmd.execute(StartProcessInstanceCmd.java:84) ~[activiti-engine-5.21.0.jar:5.21.0]
   at org.activiti.engine.impl.cmd.StartProcessInstanceCmd.execute(StartProcessInstanceCmd.java:37) ~[activiti-engine-5.21.0.jar:5.21.0]
   at org.activiti.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:24) ~[activiti-engine-5.21.0.jar:5.21.0]
   at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:57) ~[activiti-engine-5.21.0.jar:5.21.0]
   at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:47) ~[activiti-spring-5.21.0.jar:5.21.0]
   at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133) ~[spring-tx-4.2.4.RELEASE.jar:4.2.4.RELEASE]
   at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:45) ~[activiti-spring-5.21.0.jar:5.21.0]
   at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:31) ~[activiti-engine-5.21.0.jar:5.21.0]
   at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:40) ~[activiti-engine-5.21.0.jar:5.21.0]
   at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:35) ~[activiti-engine-5.21.0.jar:5.21.0]
   at org.activiti.engine.impl.RuntimeServiceImpl.startProcessInstanceByKeyAndTenantId(RuntimeServiceImpl.java:98) ~[activiti-engine-5.21.0.jar:5.21.0]
</pre>
I saw that multi-tenant process definitions are supported since version 5.19.00, according to the release notes. However the Jira Issue is still open:
https://activiti.atlassian.net/browse/ACT-4045

Is this possible in the latest version?
4 REPLIES 4

razorblade
Champ in-the-making
Champ in-the-making
And if it is, can you provide an example? thank you

jbarrez
Star Contributor
Star Contributor
Process definitions cannot be shared amongst tenants, they need to be deployed for each tenant separately.

razorblade
Champ in-the-making
Champ in-the-making
Thanks for the clarification Joram. It'd be cool if you could remove the Jira issue from the readme though. It's a bit misleading.

jbarrez
Star Contributor
Star Contributor
> It'd be cool if you could remove the Jira issue from the readme though. It's a bit misleading.

The jira is exactly for adding that functionality, so it shouldn't be closed.
My comment above was about the current state of things.