BPMN中的信号事件和消息事件可以互换吗?

时间:2018-12-12 19:14:41

标签: java bpmn camunda

他们几乎做同样的事情。

我可以说它们可以互换吗?

1 个答案:

答案 0 :(得分:2)

不,他们不会做同样的事情。官方文件说:


  

消息事件:消息事件是引用命名消息的事件。消息具有名称和有效载荷。与信号不同,消息事件始终针对单个收件人。


  

信号事件:信号事件是引用命名信号的事件。信号是一个全局范围的事件(广播语义),并传递给所有活动的处理程序。


因此,这意味着应该使用消息事件来触发单个接收任务,而使用信号事件来触发具有该信号的所有接收任务

此外,如果涉及到设计流程,您不应该总是找到一个“可行”的解决方案。当其他人看到您的图表时,您还应该考虑可读性和可理解性。如果您的流程中抛出一条消息,则应明确地对消息事件进行建模,而不要对具有相同但看起来有所不同的工作机制进行建模。

要进一步阅读,请参见文档中事件的链接:

https://docs.camunda.org/manual/7.10/reference/bpmn20/events/message-events/

https://docs.camunda.org/manual/7.10/reference/bpmn20/events/signal-events/