一般来说都是按照这样几个步骤来做的
1.新建项目
2.src下新建JBPM4 Process Definition命名为hello,会生成hello.jpdl.xml的文件
3.添加依赖库【eclipse或者MyEclipse中右键build path-->add External Archives然后添加jbpm.jar和lib下的所有jar】
4.添加JPBM必须配置文件,进入D:\jbpm-4.4\examples\src 将该目录下所有配置文件拷贝到项目src下
至此,环境已经配置完毕,下面就是在hello.jpdl.xml进行设计了,具体内容如下
<?xml version="1.0" encoding="UTF-8"?>
<process name="helloworld" xmlns="http://jbpm.org/4.4/jpdl">
<start g="230,25,114,64" name="start1">
<transition g="-59,-17" name="to state1" to="中国"/>
</start>
<end g="168,333,80,51" name="end1"/>
<state g="206,194,62,63" name="中国">
<transition g="-47,-17" name="to end1" to="end1"/>
</state>
</process>
上面的文件保存之后会自动在SRC下面生成一张一样效果的图片
下面就要在利用JUNIT来进行第一个示例的各项测试喽
测试之前,首先说下流程定义和流程实例两个概念,当然是现有流程定义,后可以发起新流程了,好好理解下他们的区别
下面先上关于流程定义的测试类
package com.test;
import java.util.List;
import junit.framework.TestCase;
import org.jbpm.api.Configuration;
import org.jbpm.api.ProcessDefinition;
import org.jbpm.api.ProcessEngine;
import org.jbpm.api.RepositoryService;
public class HelloTest extends TestCase {
//----发布流程定义
//第一步:启动流程引擎
ProcessEngine engine;
public HelloTest(){
engine=Configuration.getProcessEngine();
}
//测试发布
public void testDeploy(){
//获取流程服务
RepositoryService service=engine.getRepositoryService();
//把流程定义发布到流程引擎中
String developementId=service.createDeployment()
.addResourceFromClasspath("helloworld.jpdl.xml").deploy();
//----查看流程定义
//发布流程定义信息,查看已发布流程定义列表
List<ProcessDefinition> definitions=service.createProcessDefinitionQuery().list();//执行搜索
for (ProcessDefinition processDefinition : definitions) {
System.out.println(processDefinition.getId());
}
//----删除流程定义,这里用级联删除会比较好
service.deleteDeploymentCascade(developementId);
//查看输出后流程定义的个数
System.out.println(service.createProcessDefinitionQuery().list().size());
}
}
然后就是流程实例测试
package com.test;
import java.util.List;
import junit.framework.TestCase;
import org.jbpm.api.Configuration;
import org.jbpm.api.ExecutionService;
import org.jbpm.api.ProcessEngine;
import org.jbpm.api.ProcessInstance;
public class ProcessInstanceTest extends TestCase {
//----发布流程定义
//第一步:启动流程引擎
ProcessEngine engine;
public ProcessInstanceTest(){
engine=Configuration.getProcessEngine();
}
protected void setUp(){
engine.getRepositoryService().createDeployment()
.addResourceFromClasspath("helloworld.jpdl.xml").deploy();
}
public void testProcessInstance(){
//这个是专门管理流程实例的
ExecutionService executionService=engine.getExecutionService();
//通过流程定义文件的名称当做KEY来获取流程实例;也就是发布新流程
ProcessInstance processInstance=executionService.startProcessInstanceByKey("helloworld");
System.out.println(processInstance);
//这里输出流程实例是否结束,针对本实例来说肯定是FALSE,因为本实例中有STATE,所以会在STATE这里处理等待状态,不会结束
//也就是接下来要说的执行等待的流程,除非你调用executionService.signalExecutionById
System.out.println(processInstance.isEnded());
//这个方法将是处理等待转该的流程执行到结束,返回值热仍然是一个流程实例
processInstance=executionService.signalExecutionById(processInstance.getId());
System.out.println(processInstance.isEnded());
}
public void testDeleteProcessInstance(){
ExecutionService executionService=engine.getExecutionService();
ProcessInstance processInstance=executionService.startProcessInstanceByKey("helloworld");
executionService.deleteProcessInstanceCascade(processInstance.getId());
}
public void testProcessInastanceList(){
ExecutionService executionService=engine.getExecutionService();
ProcessInstance pi=executionService.startProcessInstanceByKey("helloworld");
ProcessInstance pi1=executionService.startProcessInstanceByKey("helloworld");
List<ProcessInstance> pis=executionService.createProcessInstanceQuery().list();
for (ProcessInstance processInstance : pis) {
System.out.println(processInstance);
}
}
}
- 大小: 8.6 KB
- 大小: 4.7 KB
分享到:
相关推荐
jbpm4.4 jar 包下载jbpm4.4 jar 包下载jbpm4.4 jar 包下载jbpm4.4 jar 包下载
配置文档详述了ant环境变量的配置,jbpm4.4的安装过程,以及在myeclipse里安装jbpm插件,并且,最后展示了一个helloworld示例,如何向数据库里发布process。
项目内容参考文章:http://blog.csdn.net/yangjiaosun/article/details/9133067
jbpm4.4 schema.xsd jbpm4.4 schema.xsd jbpm4.4 schema.xsd jbpm4.4 schema.xsd jbpm4.4 schema.xsd
JBPM4.4与SSH2之整合(附完整源码) 这些天,想着把jbpm4.4与ssh2整合一下,由于之前从来没用过jbpm,也不知道各版本之间会有什么差异(经过网上的收集对比,还真有些差异),整合起来,还真是有些步履艰难。收集了...
jBPM4.4开发指南 开发手册 JBPM4.4 开发
jbpm4.4下载地址
资源名称:JBPM4.4视频教程(22集附源码)资源目录:【】(01)jbpm4.4简介【】(02)JBPM4.4开发环境搭建【】(03)jbpm4.4环境搭建续【】(04)jbpm4.4配置文件和开发前准备【】(05)jbpm4.4部署流程发起流程实例【】(06)...
JBPM4.4的一个helloworld 例子,Junit测试通过
jbpm4.4开发指南,jbpm4.4用户指南
jBPM4.4入门开发实例
首先感谢原创,相关信息请查询原创。... 看到好多朋友找不到相应的jar包,致使jbpm4.4的学习遇到困难,现提供除jbpm4.4自身jar包外的所有包,以便大家更快的学习jbpm4.4,希望能帮朋友们少走弯路!
jBPM4.4课程文档
JBPM4.4学习文档.ppt
终于把jbpm4.4上传完了,由于csdn最大容量才50m,所以我把这个jar包分成三个部分。
jbpm4.4+ssh配置
jbpm4.4整合s2sh 请假流程例子
jBPM4.4数据库表简单介绍
jbpm4.4 Api 示例