Activiti7工作流引擎:多租户

2024-01-08 11:41:23

一:多租户

表示每个租户之间数据隔离互不影响,互不可见。通常一个租户表示一个系统应用(类似于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();

文章来源:https://blog.csdn.net/vbirdbest/article/details/135450030
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。