Class MultiSchemaMultiTenantProcessEngineConfiguration

All Implemented Interfaces:
HasExpressionManagerEngineConfiguration, HasVariableServiceConfiguration, HasVariableTypes, ScriptingEngineAwareEngineConfiguration

public class MultiSchemaMultiTenantProcessEngineConfiguration extends ProcessEngineConfigurationImpl
A ProcessEngineConfiguration that builds a multi tenant ProcessEngine where each tenant has its own database schema. If multitenancy is needed and no data isolation is needed: the default ProcessEngineConfigurationImpl of Flowable is multitenant enabled out of the box by setting a tenant identifier on a DeploymentBuilder. This configuration has following characteristics: - It needs a TenantInfoHolder to determine which tenant is currently 'active'. Ie for which tenant a certain API call is executed. - The StrongUuidGenerator is used by default. The 'regular' DbIdGenerator cannot be used with this config. - Adding tenants (also after boot!) is done using the registerTenant(String, DataSource) operations. - There are two different implementations: - The ExecutorPerTenantAsyncExecutor: creates one full AsyncExecutor for each tenant. - The SharedExecutorServiceAsyncExecutor: created acquisition threads for each tenant, but the job execution is done using a process engine shared ExecutorService. The AsyncExecutor needs to be injected using the ProcessEngineConfiguration.setAsyncExecutor(AsyncExecutor) method on this class. databasetype
Author:
Joram Barrez