state
State等待状态。进入这种状态,整个业务程序实例的执行就会中断。直到系统外参与者发起继续执行的命令,即调用signal方法,业务程序实例的执行才能够继续下去。
NodeNode
节点状态。当业务程序实例执行到这个节点,不会停止执行。而是会继续往下执行。如果存在该节点存在多个离开转向。那么,就会执行其中的第一个离开转向,在Node状态中,不需要外部参与者的参与,业务流程的这个部分是自动的、即时完成的。
processdefinition.xml
<?xml version="1.0" encoding="UTF-8"?>
<process-definition
xmlns="urn:jbpm.org:jpdl-3.1" name="example_7">
<start-state name="start">
<transition name="tr1" to="state"></transition>
<transition name="tr2" to="node"></transition>
</start-state>
<state name="state">
<transition name="" to="end"></transition>
</state>
<node name="node">
<transition name="" to="end"></transition>
</node>
<end-state name="end"></end-state>
</process-definition>
测试(JUnit)
package com.sample;
import static org.junit.Assert.assertEquals;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.graph.exe.Token;
import org.junit.Before;
import org.junit.Test;
public class Example7 ...{
private ProcessDefinition processDefinition = null;
@Before public void init()...{
processDefinition = ProcessDefinition.parseXmlResource("example_7/processdefinition.xml");
}
@Test public void processState()...{
ProcessInstance ProcessInstance = new ProcessInstance(processDefinition);
Token token = ProcessInstance.getRootToken();
assertEquals("start", token.getNode().getName());
token.signal();
assertEquals("state", token.getNode().getName());
token.signal();
assertEquals("end", token.getNode().getName());
}
@Test public void processNode()...{
ProcessInstance ProcessInstance = new ProcessInstance(processDefinition);
Token token = ProcessInstance.getRootToken();
assertEquals("start", token.getNode().getName());
token.signal("tr2");
assertEquals("end", token.getNode().getName());
}
}
转载请标明出处:http://blog.csdn.net/cydooo/archive/2006/12/24/1457029.aspx
分享到:
相关推荐
JBPM_NODE JBPM_PROCESSDEFINITION FK_PROCDEF_STRTSTA STARTSTATE_ 此关系表示那个节点是开始节点 JBPM_TRANSITION JBPM_TRANSITION FK_TRANS_PROCDEF PROCESSDEFINITION_ 一个流程可能会有很多的 TRANSITION...
- **STARTSTATE_**:起始节点ID,该字段关联了`JBPM_NODE`表中的节点ID,指示流程开始时所处的状态。 ##### 2.2 JBPM_NODE:流程节点表 - **ID_**:流程节点标识,作为该表的主键。 - **CLASS_**:节点类型,定义...
JBPM,全称为Java Business Process Management,是一款功能强大的开源工作流管理系统,完全使用Java语言编写,并依赖Hibernate作为其持久化层,确保了良好的可扩展性和数据库兼容性。由于Hibernate支持多种数据库,...
这些表之间的关系密切,例如,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_...
四、流程中任务的分配 37 4.1 assignment-handler方式的任务分配 38 4.2 swimlane方式的任务分配 39 五、JBPM持久化 42 5.1 特殊数据库支持 42 5.2 JBPM数据库的安装 42 5.2 JBPM流程发布 45 5.2.1 搭建JBPM的WEB...
这包括安装必要的工具和库,创建流程定义文件(使用JPDL),然后在JBPM引擎中启动和跟踪流程实例。 三、学习 JPDL 3.1 简介 JPDL是JBPM中定义流程的关键,它允许开发者声明流程的各个组件,如开始和结束节点、任务...
文档中提到了节点类型,如task-node(任务节点)、state-node(状态节点)、decision-node(决策节点)、fork(分叉节点)、join(合并节点),以及节点之间的转换(transitions)。 文档提到了 jbpm-designer 和 ...
node是jbpm流程定义中的自动节点,用于定义jbpm流程中的自动步骤。node可以是start-state、end-state、state、task-node等多种类型。 start-state(开始状态) start-state是jbpm流程定义中的开始状态,用于标识...
nodes表示流程中所有的node,startState用于启动流程时找到首节点。 (2)Transition表示转移,它有三个属性:from(Node),to(Node),supportedEventTypes表示支持的event类型 (3)node表示节点,它有四个属性:leaving...
- **STARTSTATE_**:起始节点ID,在JBPM_NODE表中有对应的记录。 - **JBPM_NODE**:流程节点表 - **ID_**:流程节点的唯一标识符。 - **CLASS_**:节点类型,不同的字母代表不同类型的节点(例如C表示Process...
jBPM(Java Business Process Management)是一个开源的工作流管理系统,用于设计、执行和管理业务流程。本文将详细介绍jBPM的中文表结构及其流程中的各个节点含义。 首先,jBPM的基本概念包括流程定义、流程实例、...
jBPM2 版本中,流程图和JBPM API 是核心组成部分,帮助开发者实现复杂的业务流程自动化。 ### 1. jBPM-jBDL 相关概念 jBPM-jBDL(jBPM Business Definition Language)是一种用来定义业务流程的语言,基于有向图...
`ISASYNC_` 指定节点是否可以异步执行,`ACTION_` 关联了 `JBPM_ACTION` 表中的动作,`SUPERSTATE_` 和 `PROCESSDEFINITION_` 分别指向超状态和流程模板ID。 3. **JBPM_TRANSITION_TRANSITION**: 此表记录了流程...
* STARTSTATE_:流程的起始节点ID,在JBPM_NODE表中 2. JBPM_NODE表 JBPM_NODE表存储了流程节点的信息。该表的字段包括: * ID_:流程节点的唯一标识 * CLASS_:节点类型,包括C、D、E、F、J、K、N、R、S、U等 * ...
- **CLASS_**:节点的类型,例如`org.jbpm.graph.node.ProcessState`表示这是一个子流程节点。 - **NAME_**:流程节点的名称。 - **SUBPROCESSDEFINITION_**:如果节点类型是`ProcessState`,则此字段表示子流程模版...
- STARTSTATE_:引用JBPM_NODE表中的起始节点ID。 2. **JBPM_NODE**: - ID_:节点的唯一标识。 - CLASS_:表示节点的类型,如ProcessState、Decision、Task等。 - NAME_:节点的名称。 - ...
- STARTSTATE_:引用JBPM_NODE表中的ID,表示流程的起始节点。 2. **JBPM_NODE** 表: - ID_:节点的唯一标识。 - CLASS_:表示节点的类型,如ProcessState、Decision、EndState等。 - NAME_:节点的名称。 - ...
- **JBPM_VARIABLEINSTANCE, JBPM_VARIABLEINSTANCEBLOCK, JBPM_VARIABLEMAPPING**: 变量实例、块和映射,存储流程中的变量信息。 1.1 **JBPM_PROCESSDEFINITION**: - **子流程关系**: 通过`JBPM_NODEFK_PROCST_...
#### 三、jBPM在项目中的应用 将jBPM应用于项目的关键步骤包括: 1. **配置运行环境**:确保JAVA_HOME和ANT_HOME环境变量正确设置,运行数据库初始化脚本。 2. **搭建开发框架**:创建Web工程,放置必要的jar包至...