从多实例子进程发送信号而不终止其他实例?
Send signal from multi-instance subprocess without terminating the other instances?
基本上,我有一个多实例子进程,希望能够在不终止子进程的所有其他实例的情况下向父进程发送某种信号。
请查看此示例流程:
- 子进程是基数为 3 的多实例子进程。
- 即完成 UserTask A 时,会创建子流程的三个实例。然后用户需要完成任务 B 三次。很好。
- 但是当网关路由到 "throw signal" 事件时,我希望其他两个实例继续 运行!目前,一旦发出信号,子进程的所有实例都会终止。
- 借助信号,我想在再次访问 UserTask A 后创建更多子进程实例。
如何在 BPMN/Camunda 中对这种行为建模?
提前致谢!
克里斯
将边界捕获信号事件声明为非中断的,就可以达到你想要的效果。
(话虽如此,从纯 BPMN 的角度来看,升级事件 throw/catch 更适合您的情况,但 camunda BPM 尚不支持它。所以,请注意不要导致信号的副作用,因为信号也可能被其他捕获信号事件接收。)
基本上,我有一个多实例子进程,希望能够在不终止子进程的所有其他实例的情况下向父进程发送某种信号。
请查看此示例流程:
- 子进程是基数为 3 的多实例子进程。
- 即完成 UserTask A 时,会创建子流程的三个实例。然后用户需要完成任务 B 三次。很好。
- 但是当网关路由到 "throw signal" 事件时,我希望其他两个实例继续 运行!目前,一旦发出信号,子进程的所有实例都会终止。
- 借助信号,我想在再次访问 UserTask A 后创建更多子进程实例。
如何在 BPMN/Camunda 中对这种行为建模?
提前致谢! 克里斯
将边界捕获信号事件声明为非中断的,就可以达到你想要的效果。
(话虽如此,从纯 BPMN 的角度来看,升级事件 throw/catch 更适合您的情况,但 camunda BPM 尚不支持它。所以,请注意不要导致信号的副作用,因为信号也可能被其他捕获信号事件接收。)