Workflow 如何在消息边界事件后取消活动

Workflow 如何在消息边界事件后取消活动,workflow,activiti,bpmn,Workflow,Activiti,Bpmn,具有以下过程 以及一个消息边界事件,该事件将cancelActivity设置为false,以便在之后应取消,子进程可以在接收事件之前继续执行如果选择了否 如果用户选择了Yes(即当No结束时取消/停止子流程),我如何模拟cancelActivity设置为true 请询问我是否对此不清楚。由于边界事件附加到子流程,因此无法在应取消后转到另一个任务。 您既不能使用链接事件(不允许从父进程到子进程),也不能使用简单序列流(不允许在两个进程之间) 因此,我想您需要将消息事件附加到子流程中的每个相关任务

具有以下过程

以及一个消息边界事件,该事件将
cancelActivity
设置为
false
,以便在
之后应取消
,子进程可以在接收事件之前继续执行
如果选择了

如果用户选择了
Yes
(即当
No
结束时取消/停止
子流程
),我如何模拟
cancelActivity
设置为
true


请询问我是否对此不清楚。

由于边界事件附加到子流程,因此无法在
应取消后转到
另一个任务。
您既不能使用链接事件(不允许从父进程到子进程),也不能使用简单序列流(不允许在两个进程之间)

因此,我想您需要将消息事件附加到子流程中的每个相关任务,或者您需要使用两个单独的边界事件(一个中断事件和一个非中断事件)。

进一步回答上述问题。 流程流确实不能正确地捕获您的需求。 您应该让电子邮件事件与子进程并行运行。 收到电子邮件后,直接流入“应取消人工/用户任务”。 如果是,则发送一个信号事件(信号比消息更容易实现),该事件由子进程上的信号边界事件接收器捕获,并简单地流到末尾(即终止)

如果没有,您只需退出(您可能需要启动另一个电子邮件接收器-取决于您的要求)

这样,直到您做出终止或不终止的决定后,才会触发子流程边界事件


希望这有帮助。

也许您需要下面的bpmn定义


你能描述一下你真正想要实现的目标吗?谁通过边界消息事件发送您在此建模的消息?这已经是一条“取消消息”了吗?还是你真的想在收到该消息后决定是否真的要取消?嗨,下面的答案解释了。嗨,谢谢你的回答。我不需要转到另一个任务,我只需要在“不应取消”上保持子流程处于活动状态,如果cancelActive为false,它可以正常工作,并在“是”端终止整个流程和子流程,我现在认为如果改为使用terminate end事件,它可以正常工作。不过我接受你的回答,因为在我最初的问题中,它可能是正确的。