jbpm4.4用户手册(7)

2019-05-18 12:56

已知的限制:直到现在, 一个流程处理只能有一个启动节点(start)。 表 6.3. start启动的属性 默认是否属性 类型 值 必须 name名文 称 本 表 6.4. start启动的元素

元素 个数 描述 可选 描述 活动的名字,在启动活动没有内部的转移(transition)时, name名称是可选的。 transition转移 1 向外的转移 6.2.2. State状态节点

一个等待状态节点。 流程处理的流向会在外部触发器调用提供的API之前一直等待。 状态节点和其他的活动不一样, 它没有其他任何属性或元素。

6.2.2.1. 序列状态节点

让我们看一个用序列连接状态 和转移的例子。

图 6.1. 序列状态节点

下列代码将启动一个流向:

ProcessInstance processInstance = executionService.startProcessInstanceByKey(\创建的流程处理实例会停留在状态节点a的位置, 使用signalExecution方法就会触发 一个外部触发器。

Execution executionInA = processInstance.findActiveExecutionIn(\assertNotNull(executionInA); processInstance = executionService.signalExecutionById(executionInA.getId()); Execution executionInB = processInstance.findActiveExecutionIn(\assertNotNull(executionInB); processInstance = executionService.signalExecutionById(executionInB.getId()); Execution executionInC = processInstance.findActiveExecutionIn(\assertNotNull(executionInC); 6.2.2.2. 可选择的状态节点

在第2个状态节点的例子里, 我们将演示如何使用状态节点实现 路径的选择。

图 6.2. 状态节点中的选择

让我们在这个流程处理定义里启动一个新的流程实例。 ProcessInstance processInstance = executionService .startProcessInstanceByKey(\现在,流向到达wait for response状态节点了。 流向会一直等待到外部触发器的出现。 这里的状态节点拥有多个向外的转移, 外部触发器将为向外的转移提供不同的信号名(signalName), 下面我们将提供accept信号名(signalName):

String executionId = processInstance .findActiveExecutionIn(\ .getId(); processInstance = executionService.signalExecutionById(executionId, \ assertTrue(processInstance.isActive(\流向会沿着名字是accept的向外的转移继续进行。 同样,当使用reject作为参数触发signalExecutionXxx方法时。流 向会沿着名字是reject的向外的转移 继续进行。

6.2.3. decision决定节点

在多个选择中选择一条路径。也可以当做是一个决定。 一个决定活动拥有很多个向外的转移。当一个流向到达一个决定活动时, 会自动执行并决定交给哪个向外的转移。

一个决定节点应该配置成下面三个方式之一。

6.2.3.1. decision决定条件

decision中会运行并判断每一个transition里的判断条件。 当遇到一个嵌套条件是true或者没有设置判断条件的转移, 那么转移就会被运行。 表 6.5. exclusive.transition.condition 属性 属性 类型 默认值 是否必须? 描述 将被运required行的 必须 指定脚本 指定expr中执行的 脚本语言的种类 expr expression lang expression 从脚本引擎配置里得到的默认代表性可选 language 语言(default-expression-language) 例子:

图 6.3. 流程处理的决定条件例子

在使用good content启动一个流程之后

Map variables = new HashMap(); variables.put(\ProcessInstance processInstance = executionService.startProcessInstanceByKey(\variables); submit document活动会变成活动的

assertTrue(processInstance.isActive(\参考实例中的单元测试,了解更多的场景。

6.2.3.2. decision expression唯一性表达式


jbpm4.4用户手册(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2012年度安全生产工作计划(厂级)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: