BPMN - 等待一个事件一次
BPMN - Wait for an event once
我在为一个特定用例建模时遇到问题。
- 任务 1 和任务 2 并行生成。
- 任务 1 根据条件重复多次。
- 第一个任务 1 完成后,我们必须等待任务 2 完成才能继续。这意味着任务 1 的第一次迭代将等待(如果任务 2 尚未完成),但后续迭代将继续,因为任务 2 已经完成。
这是我的建模尝试:
我看到的这个模型的问题:
1- 如果任务 2 在第一个任务 1 完成之前完成,事件将被抛出,但不会被捕获。一旦任务 1 完成,它将无限期地等待事件。
2- 在任务 1 的 2+ 次迭代中,它将无限期地等待事件,因为它只抛出一次。
任何关于如何建模的帮助将不胜感激,谢谢!
首先,消息事件不适合在同一个池内通知。请改用信号事件。
如果不了解任务 1 和 2 的真正语义,就很难给出好的答案。我建议展开循环并让任务 1 与任务 2 同时出现,然后与连接同步,然后循环剩余的任务 1。
您不应使用消息事件。使用条件事件。
https://docs.camunda.org/manual/7.6/reference/bpmn20/events/conditional-events/
仅供参考:我不熟悉 camunda,因为我使用的是 JBPM。但是,对于您的情况,很明显您必须使用条件事件。
我在为一个特定用例建模时遇到问题。
- 任务 1 和任务 2 并行生成。
- 任务 1 根据条件重复多次。
- 第一个任务 1 完成后,我们必须等待任务 2 完成才能继续。这意味着任务 1 的第一次迭代将等待(如果任务 2 尚未完成),但后续迭代将继续,因为任务 2 已经完成。
这是我的建模尝试:
我看到的这个模型的问题:
1- 如果任务 2 在第一个任务 1 完成之前完成,事件将被抛出,但不会被捕获。一旦任务 1 完成,它将无限期地等待事件。
2- 在任务 1 的 2+ 次迭代中,它将无限期地等待事件,因为它只抛出一次。
任何关于如何建模的帮助将不胜感激,谢谢!
首先,消息事件不适合在同一个池内通知。请改用信号事件。
如果不了解任务 1 和 2 的真正语义,就很难给出好的答案。我建议展开循环并让任务 1 与任务 2 同时出现,然后与连接同步,然后循环剩余的任务 1。
您不应使用消息事件。使用条件事件。 https://docs.camunda.org/manual/7.6/reference/bpmn20/events/conditional-events/
仅供参考:我不熟悉 camunda,因为我使用的是 JBPM。但是,对于您的情况,很明显您必须使用条件事件。