安装好jbpm后就可以设计流程了。新建一个jbpm的project工程。在jpdl节点上建一个Process Definition,取名为helloworld.流程由一个start节点开始,由一个end节点结束。下面是一个简单的helloworld流程。
其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="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>
测试helloworld流程模板的测试类:
package com.javaeye.tpfbx;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.graph.exe.Token;
public class TestHelloWorldProcess {
/**
* @param args
*/
public static void main(String[] args) {
//生成模板对象
ProcessDefinition processDefintion = ProcessDefinition.parseXmlResource("helloworld/processdefinition.xml");
ProcessInstance processInstance = new ProcessInstance(processDefintion);
Token token = processInstance.getRootToken();
System.out.println("1、当前流程所处的节点名称:"+token.getNode().getName());
System.out.println("------------------------------------");
token.signal();
System.out.println("2、当前流程所处节点名称:"+token.getNode().getName());
token.signal();
/**
* 下一个节点是node节点,该节点不会停留,故将停留在state2节点上。
*/
System.out.println("3、当前流程节点名称:"+token.getNode().getName());
token.signal();
System.out.println("4、当前流程所处的节点名称:"+token.getNode().getName());
//打印当前流程是否结束
System.out.println("5、当前流程的状态:"+token.getProcessInstance().hasEnded());
}
/**
* 如果项目下的.classpath文件里没流程定义xml的路径,那么就需要用流的方式生成模板对象
*/
public static void test(){
String processDefinitionFileLocation = "C:/jeworkspace/myjbpm2/src/main/jpdl/helloworld/processdefinition.xml";
InputStream inputStream = null;
try {
inputStream = new FileInputStream(new File(processDefinitionFileLocation));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ProcessDefinition processDefinition = ProcessDefinition.parseXmlInputStream(inputStream);
}
}
运行结果如下:
- 大小: 37.1 KB
- 大小: 40.2 KB
分享到:
相关推荐
Simple workflow hello World jBPM
jbpm-eclipse插件,这个插件随jbpm4.4 一起发布,位于 jbpm-4.4/install/src/gpd 目录下,由于许多人找不到这个包,所有传上来,赚点积分。
jbpm-4.4\jbpm-4.4\doc\javadocsjbpm-4.4\jbpm-4.4\doc\javadocsjbpm-4.4\jbpm-4.4\doc\javadocs
jeecg-jbpm-framework 20130202.zipjeecg-jbpm-framework 20130202.zipjeecg-jbpm-framework 20130202.zipjeecg-jbpm-framework 20130202.zipjeecg-jbpm-framework 20130202.zipjeecg-jbpm-framework 20130202....
jbpm-4.4.zip
jbpm-jpdl-suite-3.2GA -(5)分开压缩(共5个文件)jbpm下载 jbpm-jpdl-suite-3.2GA -(5)分开压缩(共5个文件)jbpm下载
jbpm-jpdl-designer-site-3.1.7.zip jbpm-jpdl-designer-site-3.1.7.zip jbpm-jpdl-designer-site-3.1.7.zip
jbpm-starters-kit-3.1.2插件,jbpm-starters-kit-3.1.2插件,jbpm-starters-kit-3.1.2插件,jbpm-starters-kit-3.1.2插件,jbpm-starters-kit-3.1.2插件,jbpm-starters-kit-3.1.2插件,共两卷
jbpm-flow-builder-5.1.0.Final.jar jbpm5
jbpm-jpdl-suite-3.2.GA.zip
jbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3.zipjbpm-jpdl-suite-3.2.3....
eclipse 下安装jbpm-4.4 的安装步骤
jbpm-6.1.0.Final-installer
jbpm-jpdl.jar jbpm-jpdl.jar
这个是jbpm-jpdl-3.2.3.zip的server部分,有60多兆, 只要将"jbpm-jpdl-3.2.3(没有server部分).rar"和这个合在一起就是整个的jbpm-jpdl-3.2.3.zip "jbpm-jpdl-3.2.3(没有server部分).rar"在我的另外一个上传资源里面
jbpm-identity.jar jbpm-identity.jar
jbpm-jpdl-suite-3.2.GA.zip
jbpm-jpdl-designer资源
jbpm-jpdl-suite-3.2.GA.zip