JBPM4初探---HelloWorld

本文详细介绍JBPM4流程引擎的搭建步骤,包括下载JBPM4、JDK、Eclipse等开发工具,安装GPD插件,配置项目依赖,定义流程,以及编写测试类验证流程的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.下载JBPM4
[url]http://sourceforge.net/projects/jbpm/files/[/url]
下载后解压,你将看到有以下的子目录
[list]
[*]db: 数据库结构创建脚本
[*]doc: 用户手册,javadoc和开发指南
[*]examples: 用户手册中用到的示例流程
[*]gpd: 图形化流程编辑器插件,作为一个eclipse归档网址
[*]jboss: JBoss安装器来把jBPM安装到jBoss中
[*]lib: 第三方库和一些特定的jBPM依赖库
[*]src: 源代码
[*]jbpm.jar: jBPM主库归档
[/list]

2.下载jdk(标准java5或更高版本)

3.在eclipse官网下载最新版本的eclipse

4.在eclipse上安装GPD插件
步骤如下
[list]
[*]Help-->Install New Software
[*]点击Add
[*]在Add Site 对话框里点击Archive....
[*]在JBPM4.0 HOME中找到gpd/jbpm-gpd-site.zip 并点击 '打开'
[*]选择出现的 jPDL 4 GPD 更新站点
[*]点击 下一步.. 然后点击 完成
[*]接受协议..
[*]当它询问的时候重启eclipse
[/list]
注意:安装过程会很慢,一定要耐心的等待。

5.新建一个java项目,加入jbpm4的依赖包。
[quote]
*JBPM4_HOME/jbpm.jar
*JBPM4_HOME/lib/*.jar
[/quote]

6.在项目的src目录下点击右键-->New-->JBPM 4 Process Definetion,在弹出的对话框的File Name 中填写hello,该文件是以jpdl.xml为后缀结尾的,然后点击Finish。

7.在hello.jpdl.xml中绘制一个简单的流程图,包含一个start活动,一个state活动和一个end活动,然后用转移(transition)将他们链接起来.

<?xml version="1.0" encoding="UTF-8"?>

<process name="hello" xmlns="http://jbpm.org/4.0/jpdl">
<start name="start1" g="247,64,48,48">
<transition name="to state1" to="state1" g="-59,-17"/>
</start>
<state name="state1" g="254,167,92,52">
<transition name="to end1" to="end1" g="-47,-17"/>
</state>
<end name="end1" g="244,277,48,48"/>
</process>


8.把JBPM4_HOME/examples/src中除org外的文件全部拷贝到你项目下的src目录中。

9.在你项目的src目录下建一个测试类

package zzg;

import org.jbpm.api.Configuration;
import org.jbpm.api.ExecutionService;
import org.jbpm.api.ProcessEngine;
import org.jbpm.api.ProcessInstance;
import org.jbpm.api.RepositoryService;
import junit.framework.TestCase;

public class HelloTest extends TestCase {
//定义一个jbpm4的外观接口,所有的功能服务都是从ProcessEngine里获取的
ProcessEngine processEngine = null;
String deployId = null;
//主要是用来发布流程
RepositoryService repositoryService = null;
//主要用来启动流程,执行流程
ExecutionService executionService = null;

protected void setUp() {
processEngine = new Configuration().buildProcessEngine();
repositoryService = processEngine.getRepositoryService();
executionService = processEngine.getExecutionService();
//将定义的流程配置文件部署到数据库中
deployId = repositoryService.createDeployment()
.addResourceFromClasspath("hello.jpdl.xml")
.deploy();
}

protected void tearDown() {
repositoryService.deleteDeploymentCascade(deployId);

}

public void testEndHelloWorld() {
//启动流程实例
ProcessInstance processInstance = executionService
.startProcessInstanceByKey("hello");
//启动流程后我们的流程会自动进入到state1活动,并处在等待状态
assertTrue(processInstance.isActive("state1"));
String pid = processInstance.getId();
//让state1活动继续往下执行,并进入结束活动,流程结束
processInstance = executionService.signalExecutionById(pid);
assertTrue(processInstance.isEnded());
}

}


10.运行测试如没有报错说明已成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值