BPMN 中的信号事件和消息事件是否可以互换?
Are signal event and message event interchangeable in BPMN?
他们做的事情几乎一样。
我能说它们可以互换吗?
不,他们不做同样的事情。官方文档说:
Message events: Message events are events which reference a named message. A message has a name and a payload. Unlike a signal, a message event is always directed at a single recipient.
Signal events: Signal events are events which reference a named signal. A signal is an event of global scope (broadcast semantics) and is delivered to all active handlers.
这意味着应该使用消息事件来触发单个接收任务,并且应该使用信号事件来触发具有该信号的所有接收任务
此外,如果涉及到流程设计,您不应该总是找到 'just works' 的解决方案。当其他人看到您的图表时,您还应该考虑可读性和可理解性这一事实。如果在您的流程中抛出消息,您应该明确地对消息事件建模,而不是尝试对制作相同但看起来不同的工作环境建模。
如需进一步阅读,请点击此处链接到文档中的事件:
https://docs.camunda.org/manual/7.10/reference/bpmn20/events/message-events/
https://docs.camunda.org/manual/7.10/reference/bpmn20/events/signal-events/
他们做的事情几乎一样。
我能说它们可以互换吗?
不,他们不做同样的事情。官方文档说:
Message events: Message events are events which reference a named message. A message has a name and a payload. Unlike a signal, a message event is always directed at a single recipient.
Signal events: Signal events are events which reference a named signal. A signal is an event of global scope (broadcast semantics) and is delivered to all active handlers.
这意味着应该使用消息事件来触发单个接收任务,并且应该使用信号事件来触发具有该信号的所有接收任务
此外,如果涉及到流程设计,您不应该总是找到 'just works' 的解决方案。当其他人看到您的图表时,您还应该考虑可读性和可理解性这一事实。如果在您的流程中抛出消息,您应该明确地对消息事件建模,而不是尝试对制作相同但看起来不同的工作环境建模。
如需进一步阅读,请点击此处链接到文档中的事件:
https://docs.camunda.org/manual/7.10/reference/bpmn20/events/message-events/
https://docs.camunda.org/manual/7.10/reference/bpmn20/events/signal-events/