1、task-node
一个task-node可以包含一个或多个task,这些task分配给特定的user。当流程执行到task-node时,task instance将会被创建,一个task对应一个task instance。task instances 创建后,task-node就处于等待状态。当所有的task instances被特定的user执行完毕后,将会发出一个新的signal 到token,即流程继续执行。
2、state
state是一个纯粹的wait state(等待状态)。它和task-node的区别就是它不会创建task instances。很典型的用法是,当进入这个节点时(通过绑定一个action到node-enter event),发送一条消息到外部的系统,然后流程就处于等待状态。外部系统完成一些操作后返回一条消息,这个消息触发一个signal 到token,然后流程继续执行。(不常用)
3、decision
当需要在流程中根据不同条件来判断执行不同路径时,就可以用decision节点。两种方法:最简单的是在transitions里增加 condition elements(条件),condition是beanshell script写的,它返回一个boolean。当运行的时候,decision节点将会在它的 leaving transitions里循环,同时比较 leaving transitions里的condition,最先返回'true'的condition,那个leaving transitions将会被执行;作为选择,你可以实现DecisionHandler接口,它有一个decide()方法,该方法返回一个 String(leaving transition的名字)。
4、fork
fork节点把一条执行路径分离成多条同时进行(并发)的执行路径,每条离开fork节点的路径产生一个子token。
5、join
默认情况下,join节点会认为所有到达该节点的token都有着相同的父token。join 节点会结束每一个到达该节点的token,当所有的子token都到达该节点后,父token会激活。当仍然有子token处于活动状态时,join 节点是wait state(等待状态)。
6、node
node节点就是让你挂自己的action用的(注意:不是event触发!!),当流程到达该节点时,action会被执行。你的action要实现ActionHandler接口。同样,在你的action里要控制流程!
jPDL包含各种活动(activity)和活动之间的流转(transition)。用jPDL定义的xml流程文件的最外层节点为process(流程),process(流程)可包含以下活动类型:
control flow activities控制流活动
start
流程的开始,一个流程有且仅有一个开始活动。
state
等待活动,需要等到外部触发才执行。
concurrency(4.3)
并行活动,通过fork/join实现。可理解为组合活动(非原子活动)。
task
任务活动,需要人参与的活动(assignee/candidates等)。
sub-process
子过程,可将流程中一些可重用的子流程抽取出来作为子过程。
custom
用户自定义活动。(用户自己编码实现)
end
结束活动,jbpm4支持多个结束活动。
end-cancel
取消活动。
end-error
出错结束活动。
decision
决策活动,有多个分支。
fork
流程分支。
join
流程联合。
automatic activities自动活动
自动活动即不需人干预的活动,由系统根据程序代码或配置自动执行。
java
script
hql
sql
mail
分享到:
相关推荐
此表包含了流程中的各个节点信息,如任务节点、决策节点等,记录了节点的ID、类型和名称。 #### 1.3 JBPM_TRANSITION 流程迁移表记录了节点间的转移逻辑,定义了流程从一个状态到另一个状态的路径。 #### 1.4 JBPM...
此表包含了流程中的各个节点。ID_字段是节点的唯一标识,CLASS_字段指定了节点的类型,如ProcessState、Decision、Task等。NAME_字段为节点的名称,SUBPROCESSDEFINITION_字段在节点类型为ProcessState时,关联子...
这个表记录了流程中的各个节点。`ID_` 是节点的唯一标识,`CLASS_` 描述了节点的类型,如StartState、EndState、TaskNode等。`NAME_` 是节点的名称,`SUBPROCESSDEFINITION_` 用于关联子流程模板。`ISASYNC_` 指定...
- 此表定义了流程中的各个节点,如开始、决策、结束、任务等。`ID_`为主键,`CLASS_`字段指定了节点的类型,例如`ProcessState`, `Decision`, `EndState`等。`NAME_`是节点的名称,`SUBPROCESSDEFINITION_`用于标识...
3. **NodeInstance表**:节点实例表记录了流程实例中各个活动节点的状态,包括节点ID、类型、创建时间、结束时间以及与流程实例和任务实例的关系。这有助于跟踪流程执行路径。 4. **VariableInstance表**:在工作流...
流程图的各个节点需要关联特定的控制类,以实现不同节点的逻辑处理。 - **控制类**:在`com.pccw.portlet.ecp.jbpm.actionhandler`包中,定义了多个控制类,它们对应流程的不同阶段和事件。 - **流程开始控制类**...
- 记录每个流程活动中各个节点的执行情况,包括执行时间、完成时间等信息。 ##### 6. **JBPM4_EXECUTION**:流程实例表 - 存储正在执行的流程实例信息,代替了JBPM3中的Token机制。 - 包含流程实例的状态、当前活动...
- **NAME_**:流程节点名称,用于识别各个节点。 - **SUBPROCESSDEFINITION_**:当节点类型为`ProcessState`时,此字段表示该节点是另一个流程模版的实例,即子流程。 - **ISASYNC_**:节点是否支持异步执行机制,...
下面将详细介绍JBPM4中各个表的作用及相关字段说明。 #### 1. **JBPM4_DEPLOYMENT** - 流程定义表 - **描述**: 此表用于存储部署到系统中的流程定义信息。 - **字段说明**: 通常包括流程ID、名称、版本号等基本信息...
流程节点表记录了流程中的各个活动或决策点,如开始节点、结束节点、任务、事件等,每个节点都有唯一的ID,描述其类型和属性。 #### 1.3 JBPM_TRANSITION 迁移表用于描述流程中节点之间的关系,表示流程执行的路径...
2. **JBPM_NODE**: 此表记录流程中的各个节点,如开始、决策、结束、任务等。`CLASS`字段定义了节点类型,如ProcessState、Decision、TaskNode等。`ISASYNC`字段指示节点是否支持异步执行,`ACTION`字段关联到`JBPM_...
2. **JBPM_NODE** - 此表存储了流程中的各个节点。`ID_` 是节点的唯一标识,`CLASS_` 描述了节点的类型,如开始、决策、结束、任务、分支等。`NAME_` 是节点的名称,`SUBPROCESSDEFINITION_` 用于子流程节点,`...
### jbpm几个重要数据表的详细说明 #### 1. 流程模型定义数据表 ##### 1.1 数据表清单 本章节详细介绍了一系列与jbpm流程管理相关的数据表,这些数据表对于理解jbpm的工作原理及其内部机制至关重要。下面分别介绍...
jbpm的工作流模型通常使用jPDL(jbpm Process Definition Language)编写,这是一种XML方言,用于描述流程的各个节点、转换条件和任务分配。jPDL允许开发者以声明式的方式定义流程,提高了流程设计的效率和可读性。 ...
4. 表`JBPM_NODEINSTANCE`:该表用于跟踪流程图中的各个节点实例,包括节点ID(`NODEINSTANCE_ID`)、节点类型(`NODE_TYPE`)、父节点实例ID(`PARENTPROCIINST_ID`)和完成时间(`END_DATE`)。这对于理解流程执行...
流程定义文件的核心是描述流程的各个阶段,包括start、end、tasknode(任务节点)、fork、join等元素。在报销流程中,start表示流程开始,end表示结束,tasknode分别代表部门主管和总经理的审批环节。 流程定义的...
核心的jPDL(jBPM Process Definition Language)部分,文档深入解释了流程处理的各个环节。包括了流程的开始(start)、状态节点(State)、决定节点(decision)、并发(concurrency)、结束(end)、任务(task)、子流程(sub...
JBPM7 基础开发是基于流程引擎的开发方式和实现方式的简单说明。流程引擎是一个自动化管理和优化流程的工具,旨在提高不同部门之间业务的整合效率,降低开发和维护成本。 概念1:BPM(业务流程管理) BPM 是一种...
- 进入节点设置页面,定义流程中各个节点的逻辑。节点表达式用于控制流程路径和会签规则。例如,"出纳审核"节点的路径可能取决于特定条件,如只有当某个参数满足特定值时,流程才会流向"公司经理审核"。 5. **变量...