public MultiSchemaMultiTenantProcessEngineConfiguration(ITenantInfoHolder tenantInfoHolder)
        {
            this.tenantInfoHolder = tenantInfoHolder;

            // Using the UUID generator, as otherwise the ids are pulled from a global pool of ids, backed by
            // a database table. Which is impossible with a mult-database-schema setup.

            // Also: it avoids the need for having a process definition cache for each tenant

            this.idGenerator = new StrongUuidGenerator();

            this.dataSource = new TenantAwareDataSource(tenantInfoHolder);
        }
예제 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="tenantInfoHolder"></param>
        public SharedExecutorServiceAsyncExecutor(ITenantInfoHolder tenantInfoHolder)
        {
            this.tenantInfoHolder = tenantInfoHolder;

            ExecuteAsyncRunnableFactory = new ExecuteAsyncRunnableFactoryAnonymousInnerClass(this);
        }
예제 #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="asyncExecutor"></param>
 /// <param name="tenantInfoHolder"></param>
 /// <param name="tenantId"></param>
 public TenantAwareAcquireTimerJobsRunnable(IAsyncExecutor asyncExecutor, ITenantInfoHolder tenantInfoHolder, string tenantId) : base(asyncExecutor, asyncExecutor.ProcessEngineConfiguration.JobManager)
 {
     this.tenantInfoHolder = tenantInfoHolder;
     this.tenantId         = tenantId;
 }
예제 #4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="tenantInfoHolder"></param>
 /// <param name="tenantAwareAyncExecutorFactory"></param>
 public ExecutorPerTenantAsyncExecutor(ITenantInfoHolder tenantInfoHolder, ITenantAwareAsyncExecutorFactory tenantAwareAyncExecutorFactory)
 {
     this.tenantInfoHolder = tenantInfoHolder;
     this.tenantAwareAyncExecutorFactory = tenantAwareAyncExecutorFactory;
 }
예제 #5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="tenantInfoHolder"></param>
 public ExecutorPerTenantAsyncExecutor(ITenantInfoHolder tenantInfoHolder) : this(tenantInfoHolder, null)
 {
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="asyncExecutor"></param>
 /// <param name="tenantInfoHolder"></param>
 /// <param name="tenantId"></param>
 public TenantAwareResetExpiredJobsRunnable(IAsyncExecutor asyncExecutor, ITenantInfoHolder tenantInfoHolder, string tenantId) : base(asyncExecutor)
 {
     this.tenantInfoHolder = tenantInfoHolder;
     this.tenantId         = tenantId;
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="job"></param>
 /// <param name="processEngineConfiguration"></param>
 /// <param name="tenantInfoHolder"></param>
 /// <param name="tenantId"></param>
 public TenantAwareExecuteAsyncRunnable(IJob job, ProcessEngineConfigurationImpl processEngineConfiguration, ITenantInfoHolder tenantInfoHolder, string tenantId) : base(job, processEngineConfiguration)
 {
     this.tenantInfoHolder = tenantInfoHolder;
     this.tenantId         = tenantId;
 }
예제 #8
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="tenantInfoHolder"></param>
 /// <param name="tenantId"></param>
 public TenantAwareExecuteAsyncRunnableFactory(ITenantInfoHolder tenantInfoHolder, string tenantId)
 {
     this.tenantInfoHolder = tenantInfoHolder;
     this.tenantId         = tenantId;
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="asyncExecutor"></param>
 /// <param name="tenantInfoHolder"></param>
 /// <param name="tenantId"></param>
 public TenantAwareAcquireAsyncJobsDueRunnable(IAsyncExecutor asyncExecutor, ITenantInfoHolder tenantInfoHolder, string tenantId) : base(asyncExecutor)
 {
     this.tenantInfoHolder = tenantInfoHolder;
     this.tenantId         = tenantId;
 }
예제 #10
0
 public TenantAwareDataSource(ITenantInfoHolder tenantInfoHolder)
 {
     this.tenantInfoHolder = tenantInfoHolder;
 }