没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
JBPM4.4 教程
Marker
2010/11/11
By Marker(majk@9.cn)
我们知道,运行起 JBPM 需要数据库、jar 包和配置文件,当然了,还需要写几句代码,那么我们
一步步来从无到有构件一个 JBPM 应用。
第一步:下载 JBPM4
我们可以从 JBPM 官方网站进入下载地址:
http://sourceforge.net/projects/jbpm/files/
目前最新版本为 4.4,下载后解压 JBPM,其目录结构为
Jbpm4.4
|----doc 文档目录
|----examples 示例目录
|----install 安装目录
|----lib 第三方 jar 包
|----src JBPM 源码
|----jbpm.jar JBPM 的 jar 包
其他文件不太重要,就不介绍了。
第二步:安装 eclipse 插件
打开 eclipse,选择 Help -> Install new software„后弹出如下界面:
By Marker(majk@9.cn)
点击 Add„按钮,弹出窗口中点击 Archive„后
选中 jbpm-4.4/install/src/gpd/jbpm-gpd-site.zip 确定进行插件安装。
安装完毕后重启 eclipse,我们就可以使用流程图定义插件了。
第三步:创建数据库
我这次使用的 MySQL 数据库,其他数据库其实差别都不大,官方已经提供了常用数据库的创建脚
本。
我们打开 jbpm-4.4/install/src/db/create 文件夹,可以看到有 4 个文件,其文件名对应了相
应数据库的创建脚本,接下来我们通过脚本创建数据库。
创建一个名为 first_jbpm 的数据:
CREATE SCHEMA `jbpm4` DEFAULT CHARACTER SET utf8 ;
为了字符集处理方便,这里我使用了 UTF-8。
打开 jbpm-4.4/install/src/db/create/jbpm.mysql.create.sql 文件,执行 SQL 语句,完成 JBPM4
的数据库创建工作。
By Marker(majk@9.cn)
第四步:JBPM4 应用
我的第一个流程
1) 建立项目和相关配置
在 eclipse 中创建一个 Java Project,将 jbpm4.jar 和 lib 文件夹下的第三方 jar 包 Add 到
项目中。
按照个人习惯,创建 config 和 jbpm 两个源文件夹,用于放配置文件和 jbpm 流程定义文件。
将 jbpm-4.4/examples/src 中的 拷贝到 config 源文件夹中,以达到
最快配置一个 JBPM4 应用。
修改 jbpm.hibernate.cfg.xml 中的相关配置,使得程序能够连接到我们刚才定义的数据库。
不要忘记将 url 的字符集设置好,例如:
jdbc:mysql://localhost:3306/jbpm4?useUnicode=true&characterEncoding=UTF-8
如果你使用了其他数据库,不要忘记将相关的 jdbc 驱动包放入项目中。
2) 创建流程定义文件
在 jbpm 源文件夹中右键新建一个 jPDL 文件,取名 processTest.jpdl.xml,使用流程设计插
件,创建如下流程:
流程图
<?xml version="1.0" encoding="UTF-8"?>
<process name="processTest" xmlns="http://jbpm.org/4.4/jpdl">
<start name="start1">
<transition name="to state1" to="state1"/>
</start>
<state name="state1">
<transition name="to end1" to="end1"/>
</state>
<end name="end1"/>
</process>
By Marker(majk@9.cn)
我们在使用设计器插件的时候,需要注意一个 BUG,当我们使用可视化拖拽制作了一个流程图
之后,切换到源码去修改其中的代码,例如我们给某节点增加了一个属性,而后切换到可视化设
计中又修改了某些地方,这时候可能我们刚才增加的属性会被删除掉,或者改变了在源码中的前
后位置。
解决这个问题的方法是将修改源码后的文件保存,关闭后重新打开即可。
3) 编写测试代码
创建一个类继承 org.jbpm.test.JbpmTestCase
public class ProcessTest extends JbpmTestCase {
private String deploymentId;
@Override
protected void setUp() throws Exception {
super.setUp();
deploymentId = repositoryService.createDeployment()
.addResourceFromClasspath("processTest.jpdl.xml").deploy();
}
public void testProcess() {
ProcessInstance pi =
executionService.startProcessInstanceByKey("processTest");
assertEquals(false, pi.isEnded());
pi = executionService.signalExecutionById(pi.getId());
assertEquals(true, pi.isEnded());
}
@Override
protected void tearDown() throws Exception {
repositoryService.deleteDeploymentCascade(deploymentId);
super.tearDown();
}
}
至此,我们就完成了一个最简单的流程应用测试。
我要注意的地方
1) 数据库 jar 驱动包
请确定已经为项目添加了对应的数据库驱动包
2) 数据库字符集
剩余32页未读,继续阅读
资源评论
乐山乐水2015
- 粉丝: 6
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 技术资料分享ZigBee网络管理实验例程手册非常好的技术资料.zip
- 技术资料分享Zigbee技术规范与协议栈分析非常好的技术资料.zip
- 技术资料分享zigbee各版本规范比较非常好的技术资料.zip
- 技术资料分享ZigBee-Specification-2006非常好的技术资料.zip
- 墙面墙体损伤等级检测数据集VOC+YOLO格式4629张4类别.zip
- 技术资料分享ZigBee-Specification(2007)非常好的技术资料.zip
- 技术资料分享XC9216非常好的技术资料.zip
- 技术资料分享VESA标准RV1非常好的技术资料.zip
- hkujhikfyxvghdfyhfgjh
- 技术资料分享THC63LVDM83D非常好的技术资料.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功