对于我的集成测试,我想指定执行并行网关的执行路径中的确切顺序。我不想同时但按顺序执行并行路径。 有什么方法可以用 Camunda 实现这一目标吗?
我已经尝试通过延迟模拟服务调用的响应来减慢一条路径,但由于并不总是使用模拟服务调用,因此该解决方案并不总是有效。
暂停一条路径的执行直到另一条路径的执行完成就足够了。
最佳答案
这是不可能的。在 camunda 引擎中,不能保证在并行网关上采用哪个序列流。
无论如何,在 camunda 引擎中并没有真正的并发性,因为每个流都是顺序执行的(流程实例是单线程的)。这意味着如果采用第一个流,它将执行直到到达保存点(等待状态)并提交事务。例如,这可以是用户任务或任何其他标有 asyncBefore 或 asyncAfter 的 Activity 。
到达此等待状态后,将执行其他序列流。
有关 camunda 交易的更多信息,请阅读有关 Transactions in processes 的文档
关于java - 如何使用 Camunda 指定并行网关中的执行顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50236201/