在Eclipse下创建一个新的process-project工程jbpm-test,目录结构如下图所示:
可以看出,通过前面指定jbpm的运行环境,工程自动为我们引入了第三方jar包和需要的配置文件,这个我喜欢,哈,不用自己去导入那么多的jar包,同时工程中还自动生成了一个名叫sample的流程定义文件及其相关的测试用例。使用eclipse流程设计器打开这个processdefinition.xml文件,就可以看到流程设计器的界面:
打开junit测试用例类SimpleProcessTest运行测试用例,可以得到如下结果:
具体的代码我们暂时不需要去理会。下面我们开始我们的HelloWorld之旅。
新建一个helloworld流程,New->Other->jBoss-jBpm->processdefinition,process-name为helloworld,finish之后我们来到流程设计界面,流程设计器分为上下两部分,上面是流程设计主框体,下面是一些属性的配置。虽然jboss为我们提供了流程设计器,但是它不能帮助我们完成全部的流程设计工作,实际开发中我们仍然需要手动去增加一些工作
对于任何流程,都必须有且只有一个start节点和一个end节点。如果缺少了其中一个,流程将不能正常运转。我们的helloworld流程还需要一个node节点和一个state节点
Node节点是JBPM中的自动类型节点,可以对它定义一个Action(实现ActionHandler接口),流程流转到node节点是将会触发Action的执行,然后流程就是处于等待状态,等待流程触发到下一个节点。注意,如果我们没有对Node节点设置action的话,流程将不会在这个节点停留,而是直接流往node节点的下一个节点。State节点与Node节点不同之处在于State节点没有自动流转的功能,必须通过代码触发流程流转。通过Transition指定流程流转的路径。
现在我们开始我们的helloworld流程的设计。Statr -> Node -> State -> End
对应的流程定义文件xml为:
<?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="node1"></transition>
</start-state>
<state name="state1">
<transition to="end-state1"></transition>
</state>
<node name="node1">
<transition to="state1"></transition>
</node>
<end-state name="end-state1"></end-state>
</process-definition>
下面我们编写一个测试类来测试我们的流程
package com.royzhou.test;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.graph.exe.Token;
public class HelloWorld {
public static void main(String[] args) {
//获取流程定义
ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("helloworld/processDefinition.xml");
/**
* 生成流程实例
* 此时流程还没有开始流转
* 必须给令牌发送信令驱动流程流转
*/
ProcessInstance processInstance = new ProcessInstance(processDefinition);
//得到流程令牌
Token token = processInstance.getRootToken();
//打印流程当前所处节点
System.out.println("1:流程现在所处节点:" + token.getNode().getName());
//触发流程流转到下一个节点Node
token.signal();
/**
* 注意因为Node节点没有设置Action
* 所以流程会自动流转到下一个节点
* 也就是State1
*/
System.out.println("2:流程现在所处节点:" + token.getNode().getName());
//触发流程流转到下一个节点End
token.signal();
System.out.println("3:流程现在所处节点:" + token.getNode().getName());
System.out.println("流程状态是否结束:" + token.getProcessInstance().hasEnded());
}
}
运行上面的测试类,得到预期的输出结果:
1:流程现在所处节点:start-state1
2:流程现在所处节点:state1
3:流程现在所处节点:end-state1
流程状态是否结束:true
(测试例子中所使用的代码我们在后面的文章中会专门介绍)
通过helloworld的例子,相信大家已经对jbpm建立了一定的感觉了,不过应该还有很多不明白的东西,, 哈哈 …… 那就加油把 。。。
- 大小: 49.1 KB
- 大小: 17.7 KB
- 大小: 9.7 KB
- 大小: 8.1 KB
分享到:
相关推荐
Simple workflow hello World jBPM
### jBPM 4.2 HelloWorld 实例详解 #### 一、搭建开发环境 为了能够顺利地进行jBPM 4.2 HelloWorld实例的开发,首先需要搭建一个完整的开发环境。这包括安装必要的软件和配置相应的环境变量。 ##### 1. 下载与...
【Jbpm4HelloWorld】是基于JBPM(Java Business Process Management)框架的入门示例,这个项目旨在帮助初学者快速理解并掌握JBPM的基本用法。JBPM是一个开源的工作流管理系统,它允许开发者设计、执行和管理业务...
【标题】"Mule + JBPM by Maven - HelloWorld" 指的是一个使用Mule ESB集成JBPM工作流引擎的示例项目,通过Maven构建。这个项目旨在帮助开发者理解如何将Mule与JBPM结合,实现业务流程管理功能。 Mule ESB...
jbpm4 helloworld,详细参考 《partner4java 讲述jBPM4》之第一步:jBPM4概念 & helloworld http://blog.csdn.net/partner4java
JBPM通过使用XML来定义工作流,这种文件通常以.jpdl.xml为扩展名,就像压缩包中的"helloworld.jpdl.xml"。 在“Hello World”例子中,我们首先会看到"helloworld.jpdl.xml"文件。这个文件是流程定义的载体,它描述...
1. **HelloWorld**:最基本的示例,演示如何创建和执行一个简单的流程。 2. **TaskService**:展示了如何使用 Task Service API 来管理和完成任务。 3. **HumanTasks**:涵盖与人类参与者交互的业务流程,例如审批...
### jBPM 4.4 开发环境搭建与 HelloWorld 实例详解 #### 一、jBPM 4.4 开发环境搭建 ##### 1.1 准备所需工具 为了构建一个完整的 jBPM 4.4 开发环境,我们需要准备以下工具: - **jBPM 4.4**: `jbpm-4.4.zip` - **...
**Jbpm HelloWorld** Jbpm(Business Process Management Suite)是一款开源的工作流管理系统,它提供了强大的业务流程建模、执行和管理能力。Jbpm在IT行业中被广泛应用于自动化业务流程,实现工作流的标准化和规范...
通过简单的HelloWorld示例介绍如何快速启动并执行一个基本的JBPM流程。 #### 3.2 数据库示例 展示如何将JBPM与数据库集成,持久化流程实例和任务状态。 #### 3.3 上下文示例:流程变量 讲解如何在流程中使用变量,...
【jbpm4之HelloWorld实例】是一个初学者入门教程,主要介绍了如何在Java环境中使用jbpm4(Business Process Management Suite 4)框架构建一个简单的"Hello World"流程应用。jbpm4是一个开源的工作流和业务流程管理...
- 类似于Hello World示例,但涉及更复杂的业务逻辑和更多的服务交互。 3. **Purchase Order 示例**: - 这个示例展示了如何处理采购订单的完整流程,包括接收订单、审核、付款处理等环节。 #### 五、结论 通过...
#### HelloWorld示例 本案例通过创建一个简单的BPEL文档,演示了从定义BPEL流程、部署流程定义到构建测试客户端的全过程,是初学者理解BPEL基本概念的理想起点。 #### 旅行预订系统 更进一步,旅行预订系统示例...
### JBPM 4.4 实用教材:HelloWorld 示例详解 #### 一、JBPM简介与应用场景 JBPM(Java Business Process Management)是一款开源的工作流引擎,它支持业务流程管理和控制,尤其适用于需要灵活定制流程的企业级...
本示例主要介绍如何使用Maven3与JBPM4.4集成,并在MySQL数据库环境下实现一个简单的 HelloWorld 应用。JBPM(Java Business Process Management)是一个开源的工作流和业务流程管理系统,它提供了完整的BPM解决方案...
最后,读者可以导入示例项目,例如 HelloWorld 项目。首先,需要将示例解压至 Eclipse 的 workspace 目录下,然后在 Eclipse 的 Package Explorer 中,点击右键,选择“Import”选项,选择“Existing Projects into ...
JBPM4.4之HelloWorld示例.doc jbpm4.4会签实例.doc jbpm4.4安装配置step by step.doc jbpm4自带数据库分析.doc jBPM_4教程PPT.pdf JBPM与SSH架构融合.doc 工作流模型分析_v1.1.pdf 揭秘jbpm流程引擎内核设计...