0
点赞
收藏
分享

微信扫一扫

Activiti7工作流引擎:多租户


一:多租户

表示每个租户之间数据隔离互不影响,互不可见。通常一个租户表示一个系统应用(类似于appid的作用)或者一家公司。

  • 通过数据库级别进行隔离,每个租户对应一个数据库;
  • 通过表记录级别进行隔离,在表中增加一个租户id字段(tenant_id)进行数据区分,也就是SAAS模式。

二:使用租户

在流程部署和启动时都可以指定租户id,当没有指定时表示所有租户都可以使用。用户 > 组 > 租户。

  • ACT_RE_DEPLOYMENT、ACT_RE_PROCDEF、ACT_RE_MODEL
  • ACT_RU_EXECUTION、ACT_RU_TASK、ACT_RU_JOB
  • ACT_HI_PROCINST、ACT_HI_ACTINST、ACT_HI_TASKINST

String tenantId = "app1";
repositoryService.createDeployment()
        .addClasspathResource("processes/LeaveProcess.bpmn")
        .name("请假流程")
        .tenantId(tenantId)
        .deploy();
ProcessInstance processInstance = runtimeService.startProcessInstanceByKeyAndTenantId("LeaveProcess", tenantId);

Task userTask = taskService.createTaskQuery()
        .processInstanceId(processInstance.getId())
        .taskTenantId(tenantId)
        .singleResult();


举报

相关推荐

0 条评论