【发布时间】:2010-12-26 19:22:24
【问题描述】:
例如:许可证必须由两名律师和一名工程师审查。如果这三个中的任何一个拒绝它,则该过程进入“拒绝”结束状态。如果所有三个都授予许可,则它进入“授予”结束状态。三名考官可以同时进行检查,也可以按任何顺序进行检查。
一旦一位工程师授予它,它就不应该被工程师检查;一旦有两名律师检查过,就不应该提供给律师;一旦一名工程师和两名律师检查过,它就应该进入授权的最终状态。
我最初的想法是,要么我有一个过于复杂的状态转换图,“相同”的中间状态多次重复,要么我携带(外部)状态,进程 { bool denied; int 工程师SignoffId; int 律师1SignoffId; int 律师2SignoffId}。
或者类似的东西?如果是这样,工程师的拒绝如何终止“律师”中的子流程?
START->FORK->Engineer->Granted?---------------->Y->JOIN-->Granted
|->Lawyers-->Granted?->by 2 lawyers?->Y---^
^ |
|--------------------------N
对此的典型 jBPM 答案是什么?您能否指出此类答案的示例或文档?
谢谢。
【问题讨论】:
-
这是一个很老的问题,但出于好奇,您说的是哪个版本的 jBPM:3、4 还是 5?
标签: concurrency jbpm subprocess