java - BPMN中的信号事件和消息事件可以互换吗?
问题描述
他们做几乎相同的事情。
我可以说它们可以互换吗?
解决方案
不,他们不做同样的事情。官方文档说:
消息事件:消息事件是引用命名消息的事件。消息具有名称和有效负载。与信号不同,消息事件总是针对单个接收者。
信号事件:信号事件是引用命名信号的事件。信号是全局范围的事件(广播语义),并被传递给所有活动的处理程序。
所以这意味着应该使用消息事件来触发单个接收任务,并且应该使用信号事件来触发具有该信号的所有接收任务
此外,如果涉及到您的流程设计,您不应该总是找到“行之有效”的解决方案。当其他人看到您的图表时,您还应该考虑可读性和可理解性的事实。如果在您的流程中抛出了一条消息,您应该明确地建模一个消息事件,而不是尝试建模一个相同但看起来不同的工作环境。
为了进一步阅读,这里是文档中事件的链接:
https://docs.camunda.org/manual/7.10/reference/bpmn20/events/message-events/
https://docs.camunda.org/manual/7.10/reference/bpmn20/events/signal-events/
推荐阅读
- matlab - HPC中MATLAB中的Ho到并行点阵乘积
- arrays - 反转 shell 式大括号扩展
- python - 为什么会打印 8?简单的 Python 列表
- json - 在 Json 的值中搜索特定字符串并分配给 ruby 中的变量
- web-scraping - 如何使用 Beautiful Soup 抓取 Shopify 网站并获取所有标签(#)
- button - 如何配置 Jetbrain phpstorm 将操作按钮添加到主菜单/工具栏,例如重做和撤消按钮,而不是 CTRL+Y 和 CTRL+SHIFT+Z?
- javascript - 如何使用 NPM 脚本打开终端选项卡?
- javascript - JSHINT 为 If 语句方程引发语法错误
- android - setDynamicLinkDomain 在代码中已被弃用,但在文档中似乎并未被弃用
- c# - 项目过期 - 不再显示此对话框 - 构建还是不构建?