AnsweredAssumed Answered

Multi-Tenancy AsyncExecutor Jobs

Question asked by gopitu on Aug 3, 2017

I am running on version 5.22 and I am trying to have multiple Activiti Process Engines running multiple JVMs share the same database. Each JVM runs an unique process so I don't want them picking up Jobs scheduled for other engines.

I have deployed the process definition with a TenantID and I could see from the logs that the executor used is ExecutorPerTenantAsycnExecutor. However, the async jobs are not picking up the jobs only for that Tenant Id.

 

Doesn't Activiti run its Acquire Async Jobs (for example, the AcquireAsyncJobsDueRunnable) query using the current Tenant Id? I could see the TenantAwareAcquireAsyncJobsDueRunnable being called but it doesn't do anything other than setting the Tenant Id and calling the AcquireAsyncJobsDueRunnable's run method.

 

Why is Activiti not honoring the Tenant Id while picking up Jobs to run? Am I missing anything here?

Outcomes