管理多个租户(部门)的用户BPMN /活动

时间:2016-06-11 06:47:10

标签: spring activiti bpmn

我在BPMN中有几个流程定义,并使用Activity来启动它们。流程定义包括负责执行任务的用户。互联网上充满了如何管理此类方案的例子。

但是现在我需要针对多个部门启动同一进程的多个流程实例。每个部门都有近乎相同的组织结构,但人员并不相同。例如发货后,部门负责人必须将报告发送给客户。在这种情况下,部门主管的行为相同,但每次都是不同的人。以下BPMN定义无法管理:

<resourceAssignmentExpression>
    <formalExpression>head</formalExpression>
</resourceAssignmentExpression>

因为每个部门都有自己的负责人。

所以我的问题是:如何在不同的BPMN流程实例中管理用户?

1 个答案:

答案 0 :(得分:0)

如果我正在构建此解决方案,我会在启动时将部门作为businessKey传递给流程实例。 然后,我将使用附加到assign事件的任务侦听器来确定应根据业务键分配任务的人员。 此方法的其他优点是,业务密钥将保留在历史记录中,使您有机会按部门报告实例。

希望这有帮助。