jBPM Decision Node
决策节点的执行时的逻辑如下:
1. 先判断是否设置了decisionDelegation的类。如果设置了,则调用该代理的decide方法来返回相应的transition的名称。根据该名称从本节点找相应的transition,如果为空则从父节点找相应的transition。如果仍不存在,则抛异常。
2. 是否设置了decisionExpression语句。如果设置则执行该表达式并根据返回的值找到相应的transition。
3. 如果存在设置condition的transition,且前两步仍没有找到相应的transition,则对节点的所有transition扫描,返回第一个设置condition且为True的transition。
4. 如果仍没有找到相应的transition,则返回默认的transition。
默认的transition定义为:
A) 如果该节点定义了transition,则第一个transition即为默认值;
B) 如果没有定义transition,则返回父节点的默认transition。
http://savegod.spaces.live.com/Blog/cns!54158A19561EC233!522.entry
分享到:
相关推荐
这些表之间的关系密切,例如,JBPM_TRANSITION中的FROM和TO字段与JBPM_NODE关联,描述了流程的流转路径;JBPM_NODE的ACTION字段与JBPM_ACTION关联,定义了节点执行时的动作;而JBPM_ACTION的EVENT字段则与JBPM_EVENT...
ISTERMINATIONIMPLICIT_字段标记流程是否支持强制终止,STARTSTATE_字段则保存了流程的起始节点ID,对应于JBPM_NODE表中的记录。 2. JBPM_NODE 表: 此表包含了流程中的各个节点。ID_字段是节点的唯一标识,CLASS_...
* DECISIONDELEGATION:节点类型为Decision时使用,表明Decision对应的代理类,对应JBPM_DELEGATION表 * DECISIONEXPRESSION_:节点类型为Decision时使用,该属性表示Decision中的判断表达式 3. JBPM_TRANSITION表 ...
- `D`: 决策节点,由`org.jbpm.graph.node.Decision`实现。 - `E`: 结束状态节点,由`org.jbpm.graph.node.EndState`实现。 - `F`: 分支节点,由`org.jbpm.graph.node.Fork`实现。 - `J`: 合并节点,由`org.jbpm...
1.2 JBPM_NODE:流程节点表 2 1.3 JBPM_TRANSITION:流程迁移表 3 1.4 JBPM_ACTION:流程动作表 4 1.5 JBPM_EVENT:流程事件表 5 1.6 JBPM_DELEGATION:流程代理类表(用于实例化jbpm中的action类) 6 1.7 JBPM...
- **CLASS_**:节点的类型,例如`org.jbpm.graph.node.ProcessState`表示这是一个子流程节点。 - **NAME_**:流程节点的名称。 - **SUBPROCESSDEFINITION_**:如果节点类型是`ProcessState`,则此字段表示子流程模版...
本文将详细解析JBPM数据库表结构,主要关注与流程配置相关的三张核心表格:JBPM_PROCESSDEFINITION、JBPM_NODE、以及JBPM_TRANSITION。 **1. JBPM_PROCESSDEFINITION 表** JBPM_PROCESSDEFINITION是存储流程模板...
JBPM(JBoss Business Process ...同时,通过jbpm_NODE和jbpm_PROCESSDEFINITION可以获取流程的结构和当前运行的状态。在开发过程中,这些关系将指导如何正确地配置和执行流程,以及如何设计符合业务需求的自定义逻辑。
- **STARTSTATE_**:起始节点ID,在JBPM_NODE表中有对应的记录。 - **JBPM_NODE**:流程节点表 - **ID_**:流程节点的唯一标识符。 - **CLASS_**:节点类型,不同的字母代表不同类型的节点(例如C表示Process...
`ID_`是迁移的唯一标识,`NAME_`是迁移的名称,`PROCESSDEFINITION_`关联流程模版ID,`FROM_`和`TO_`分别表示迁移的起点和终点,即`JBPM_NODE`表中的ID,`FROMINDEX_`可能是用来索引多个出边的情况。 4. **JBPM_...
流程图由节点(nodes)和转换(transitions)组成,每个节点都有特定的类型,如状态节点(state-node)、任务节点(task-node)、决策节点(decision)等,它们定义了流程执行时的行为。 **流程定义**: - 是业务...
在jbpm3.2.2入门例子中,你可以看到如何创建简单的流程,如请假审批流程,包括开始节点、结束节点、用户任务(User Task)以及审批决策节点(Decision Node)。 在jbpm中,任务管理是重要的部分,它涉及到任务的...
2. **JBPM_NODE_NODE**: 这个表记录了流程中的各个节点。`ID_` 是节点的唯一标识,`CLASS_` 描述了节点的类型,如StartState、EndState、TaskNode等。`NAME_` 是节点的名称,`SUBPROCESSDEFINITION_` 用于关联子...
#### 1.2 JBPM_NODE 此表包含了流程中的各个节点信息,如任务节点、决策节点等,记录了节点的ID、类型和名称。 #### 1.3 JBPM_TRANSITION 流程迁移表记录了节点间的转移逻辑,定义了流程从一个状态到另一个状态的...
- STARTSTATE_:引用JBPM_NODE表中的ID,表示流程的起始节点。 2. **JBPM_NODE** 表: - ID_:节点的唯一标识。 - CLASS_:表示节点的类型,如ProcessState、Decision、EndState等。 - NAME_:节点的名称。 - ...
文档中提到了节点类型,如task-node(任务节点)、state-node(状态节点)、decision-node(决策节点)、fork(分叉节点)、join(合并节点),以及节点之间的转换(transitions)。 文档提到了 jbpm-designer 和 ...
#### 1.2 JBPM_NODE 流程节点表记录了流程中的各个活动或决策点,如开始节点、结束节点、任务、事件等,每个节点都有唯一的ID,描述其类型和属性。 #### 1.3 JBPM_TRANSITION 迁移表用于描述流程中节点之间的关系,...
jbpm有一组node type可以供你选择,当然你可以定制自己node 。 node的作用 node有两个主要的作用: 1)执行java代码,比如说创建task instance(任务实例)、发出通知、更新数据库等等。很典型的就是在node 上挂上...
- STARTSTATE_:流程的起始节点ID,关联JBPM_NODE表。 2. **JBPM_NODE**: - ID_:流程节点的唯一标识。 - CLASS_:节点的类型,如StartState、TaskNode、Decision等。 - NAME_:节点的名称。 - ...