我目前有以下流程设计:
start-event - > user-task-A - > user-task-B - > end-event
如图所示,用户任务A在完成后跟随用户任务-B。
我需要修改它以满足一个要求,因为用户任务A的用户可以暂停它,因为他/她对它有一些查询。如果发生这种情况,则不会创建user-task-B,而是创建新的用户任务以解决这些查询。当这些查询得到回答时,必须恢复用户任务A并遵循正常的过程。
据我所知,activiti中的用户任务无法暂停。整个过程需要暂停。
我怎样才能做到这一点?
您可以通过将该需求建模到业务流程中来实现此目的:
start -> user-task-A -> exclusive gateway (is task done?)
-> yes -> user-task-B
-> no -> sub process for answering queries
-> go back to user-task-A
这里有很多选择。 Salaboys的回答是其中一种选择。当我需要包含进程内联片段时,我通常使用Signal事件来触发片段,然后等待完成(另一个信号事件)继续。
这种方法使模型简单,并使您能够独立维护每个片段(类似于具有一致接口的模块化)。