【发布时间】:2014-12-31 11:15:36
【问题描述】:
我有三个池,发送者 A(人工任务)、B(服务任务)和接收者 C(无关紧要)。池是异步的,没有回调。
池 A 和 B 都将 message1 发送到池 C 的 StartMessage 事件。
这是对从多个来源到一个接收者的发送消息的有效使用,还是我必须复制消息并有两个 StartMessage 事件?
【问题讨论】:
我有三个池,发送者 A(人工任务)、B(服务任务)和接收者 C(无关紧要)。池是异步的,没有回调。
池 A 和 B 都将 message1 发送到池 C 的 StartMessage 事件。
这是对从多个来源到一个接收者的发送消息的有效使用,还是我必须复制消息并有两个 StartMessage 事件?
【问题讨论】:
BPMN 规范说 YES,这是有效的(在 2.0 版本的第 246 页):“开始事件可能是消息流的目标;它可以为零 (0)或多个传入消息流。每个以启动事件为目标的消息流都代表进程的一个实例化机制(触发器)。启动一个新进程只需要一个触发器。"
(在您的情况下,您有一种类型的消息'message1',所以这很简单,正如刚才所说。如果您有不同的消息,规范将需要一个“多个事件” - 它允许后面的多个事件定义场景 - 或者作为替代方案,您需要在图表中分别显示这些不同的消息开始事件。)
【讨论】: