1.建立一个jbpm project,这里就不作讲解。
2.在项目的jpdl目录下建立一个名为helloworld的process Definition.也就是定义一个流程。并打开流程设计器。
3.在流程设计器中设计一个简单的流程图,如下图
代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.2" name="helloworld">
<start-state name="start-state1">
<transition to="state1"></transition>
</start-state>
<state name="state1">
<transition to="node1"></transition>
</state>
<node name="node1">
<transition to="state2"></transition>
</node>
<state name="state2">
<transition to="end-state1"></transition>
</state>
<end-state name="end-state1"></end-state>
</process-definition>
4.节点讲解
Start节点:开始
End节点:结束
Node节点:自动类型的节点.
在该节点里可以定义一个Action,当流程到达该节点时会触发该Action的执行,然后流程就会停留在该节点上。
如果没有定义Action,到达该节点后不会停留,如果有定义事件就会触发相关事件,然后流转到下一个节点。
State节点:当流程走到State节点后不会自动往下运行,而会处于等待状态,直到通过代码触发后才会流转到下一个节点。
Transition:是流程节点之间流转路径,可以使流程从一个节点流转到另一个节点。
5.测试helloworld流程
package com.test;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.graph.exe.Token;
import org.junit.Test;
public class HelloWroldProcessTest {
@Test
public void testSimpleProcess() {
//解析流程模板对应的XML文件来创建一个流程模板对象
ProcessDefinition processDefinition = ProcessDefinition
.parseXmlResource("helloworld/processdefinition.xml");
//通过processDefinition创建一个流程实例
ProcessInstance processInstance = processDefinition
.createProcessInstance();
//通过绝对路径读取流程模板XML文件生成流程模板对象
// String processDefinitionFileLocation="D://myeclipse8.5/workspace/jpbm-test/src/main/jpdl/helloworld/processdefinition.xml";
// try {
// InputStream inputStream = new FileInputStream(new File(processDefinitionFileLocation));
// ProcessDefinition processDefinition = ProcessDefinition.parseXmlInputStream(inputStream);
// } catch (FileNotFoundException e) {
// e.printStackTrace();
// }
Token token = processInstance.getRootToken();
//因为只建立了流程实例,流程实例并没有向下流转,所以该实例停留在start-state1节点上
System.out.println("1 当前流程所处的节点名称:" + token.getNode().getName());
//让流程实例向下流转一步
token.signal();
//state1
System.out.println("2 当前流程所处的节点名称:" + token.getNode().getName());
token.signal();
//自动执行node1节点,流程向下流转,停留在state2
System.out.println("3 当前流程所处的节点名称:" + token.getNode().getName());
token.signal();
System.out.println("4 当前流程所处的节点名称:" + token.getNode().getName());
//打印出当前流程是否结束
System.out.println("5 当前流程状态:" + token.getProcessInstance().hasEnded());
}
}
- 大小: 41.9 KB
分享到:
相关推荐
深入浅出 jBPM 电子书,很适合初学者学习的一个开发文档
【JBPM_DEMO例子 Hello World】是入门级的教程,主要展示了如何使用JBPM(Java Business Process Management)工作流引擎实现一个简单的“Hello World”流程。这个例子旨在帮助初学者理解JBPM的基本概念和操作流程。...
**jbpm3.rar_bpm_bpm jbpm_jbpm3_workflow_workflow process bpm** **jbpm3** 是一个基于Java的企业级工作流引擎,是**BPM(Business Process Management)**领域的重要工具。它允许开发者设计、执行和管理业务流程...
深入浅出jBPM 电子文档,内容包括:面向图的程序设计,流程建模,节点——Node 职责,task-node节点,state节点类型,decision节点类型.等等,.还 综合大量例子和资料 , 是 学习 JBPM 必读首选! 希望这部书,大家能...
总的来说,jbPM 3.2是一个强大的工作流管理系统,通过深入理解和实践,开发者可以构建出高效、灵活的业务流程,提高企业的业务自动化水平。希望这份知识总结能对你在jbPM的学习和使用上提供帮助。
.........................................7 1.3 jBPM版helloworld.....................................10 1.3.1 创建helloworld流程......................13 1.3.2 设计流程图 ..................................
《深入浅出jBPM》深入浅出,示例丰富,实用性强,适合有一定Java基础的读者阅读。
**深入浅出JBPM** JBPM,全称Java Business Process Management,是一款开源的工作流管理系统,由JBoss组织开发,现在是Red Hat公司的产品。它提供了一整套解决方案,用于设计、执行、监控和优化业务流程。JBPM的...
JBPM_NODE JBPM_NODE FK_PROCST_SBPRCDEF SUBPROCESSDEFINITION_ 子流程的指定在父流程离开之前子流程将完整的执行 JBPM_NODE JBPM_NODE FK_NODE_PROCDEF PROCESSDEFINITION_ 此NODE自身存在的流程ID JBPM_NODE ...
深入浅出jBPM电子书,JBOSS jBPM是一个灵活的、可扩展的工作流管理系统。JBOSS jBPM拥有直观的流程语言,用任务、异步的等待状态、定时器、自动化动作…等来表示业务流程图,把这些操作绑定在一起,JBOSS jBPM就拥有...
【jbpm_websale.rar】是一个包含JBPM(Business Process Management)网上销售示例的压缩包,这个实例对于初学者理解和掌握JBPM技术及其在Java Web应用中的实践非常有帮助。该实例结合了JSF(JavaServer Faces)前端...
《深入浅出jBPM:1-6章测试代码详解》 jBPM,全称为Java Business Process Management,是一款开源的工作流管理系统,用于处理业务流程的建模、部署、执行和监控。它提供了灵活的工作流定义,支持BPMN 2.0标准,...
通过阅读这份文档,开发者可以深入了解jBPM 4的工作原理,掌握如何有效地利用它来管理和优化业务流程。 总结起来,jBPM 4是一个强大的业务流程管理框架,其jBPM Designer提供了图形化的流程建模工具,使得业务流程...
jbpm-3.1.2.zip 文件包含了 jBpm 的一个重要版本——jBpm 3.1.2,这是一个开源的工作流管理系统,专为构建灵活且可扩展的业务流程解决方案而设计。jBpm 提供了一种方式,使得开发者能够用简单而强大的语言来表达业务...
【深入浅出JBPM 采购实例】是一个基于Myeclipse8.5、Tomcat6.0和JBPM3.2.3的实践教程,旨在帮助读者理解并掌握工作流管理系统JBPM在采购流程中的应用。在这个实例中,作者省略了邮件功能,因为JBPM3.2.3版本不包含...
本文将深入探讨JBPM的工作原理、表结构及其在实际操作中的应用。 1. **JBPM特色** - **灵活的建模**:JBPM支持BPMN 2.0标准,允许用户通过图形化界面设计复杂的工作流程。 - **持久化存储**:JBPM将流程实例和...