读书人

jBPM 开发入门指南(2)

发布时间: 2012-12-21 12:03:49 作者: rapoo

jBPM 开发入门指南(二)

学习笔记,转自http://www.blogjava.net/chengang/archive/2006/08/22/65132.html


4?数据库初始化

jBPM?需要数据库支持,?jBPM?会把自己的一个初始化数据存储到数据库,同时工作流的数据也是存储到数据库中的。?jBPM?使用?Hibernate?来做为自己的存储层,因此只要是?Hibernate?支持的数据库,?jBPM?也就支持。

?

本文先以?MySQL?为例,然后再以?Oracle?为例,来谈谈?jBPM?的数据库初始化操作。

?

注:在上面的?JBoss?自带的示例中,并没有设置数据库,那是因为?jBPM?默认使用的是内存数据库?hsqldb?。

4.1??MySQL

?

1?、首先安装?MySQL?。

MySQL?的安装比较简单,网上也有很多文章,本文不再赘述。本指南所用?MySQL?版本为?MySQL 4.1?(?for windows?)。再找一个?MySQL?客户端,目的是方便查看数据库中的数据,本文推荐使用?MySQL?网站上免费提供的“?MySQL Query Brower?”,当然你用其他的客户端也行,比如?MySQL-Front?。

?

2?、建库

MySQL?中创建一个库,库名:?jbpm

?

3?、生成建表的?SQL?语句并建表

将?jbpm-starters-kit-3.1.1?下的子目录?jbpm?改名为?jbpm.3?,否则在执行下面的?ant?命令时会报如?jbpm.3?目录不存在的错误:

D:\jbpm-starters-kit-3.1.1\jbpm-db\build.xml:361: The following error occurred while executing this line:

D:\jbpm-starters-kit-3.1.1\jbpm-db\build.xml:68: Basedir D:\jbpm-starters-kit-3.1.1\jbpm.3 does not exist

?

在?DOS?窗下,进入?D:\jbpm-starters-kit-3.1.1\jbpm-db?目录,执行如下命令:

ant mysql.scripts

?

执行成功后,在?D:\jbpm-starters-kit-3.1.1\jbpm-db\build\mysql\scripts?目录里生成了四个?sql?文件,它们做什么用的一看名字就知道了。在?MySQL?客户端中执行“?mysql.create.sql?”脚本,这样将在?jbpm?库中创建一个个的数据表。

?

?

4.2??Oracle

先安装好?Oracle?服务器。我们公司有现存的?Oracle?服务器,也提供给了我一个属于我自己的用户名,一登录就可以任意在我的库之下创建表了。所以这一步就省了,没有的自个先装好吧。

访问?Oracle?推荐用“?PLSQL Developer?”。不过要连接?Oracle?还要在本机上装上?Oracle?自己的客户端程序,里面提供了?JDBC?包和一些配置。要连接服务器还得配置一下,我一般都是不用?GUI?而直接改?tnsnames.ora?文件,在我的电脑里此文件的目录地址是:D:\oracle\ora92\network\ADMIN\tnsnames.ora?,内容如下?(?两面有两个配置了?)?:

# TNSNAMES.ORA Network Configuration File: E:\oracle\ora92\network\admin\tnsnames.ora

# Generated by Oracle configuration tools.

?

WXXRDB_192.168.3.2 =

??(DESCRIPTION =

????(ADDRESS_LIST =

??????(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.2)(PORT = 1521))

????)

????(CONNECT_DATA =

??????(SID = wxxrDB)

??????(SERVER = DEDICATED)

????)

??)

?

WXXRDB_192.168.4.2 =

??(DESCRIPTION =

????(ADDRESS_LIST =

??????(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.4.2)(PORT = 1521))

????)

????(CONNECT_DATA =

??????(SID = wxxrDB)

??????(SERVER = DEDICATED)

????)

??)

?

前面都是?Oracle?的一些知识,不会的?Google?一下吧。最后配置好后,用?PLSQL Developer?输入你的用户名和密码联接到?Oracle?,就算?OK?了。

?

参考上面?MySQL?的步骤,基本一样:

(1)???????将?jbpm?改名为?jbpm.3

(2)???????再执行?ant oracle.scripts

(3)???????用?jbpm-db\build\oracle\scripts?目录的?oracle.create.sql?脚本,在?Oracle?中生成?jBPM?的所有表。在“?PLSQL Developer?”中可以新建一个Command Windows?窗口然后输入命令:?@D:\jbpm-starters-kit-3.1.1\jbpm-db\build\oracle\scripts\oracle.create.sql

?

?


??????? 注意:默认情况下ant mysql.scripts 命令肯定会报错的,因为C:/jbpm-starters-kit-3.1.2/jbpm.3/src/java.jbpm.test/org/jbpm/persistence/db/MockConnection.java?类实现自java.sql.Connection接口,由于MockConnection类并没有完全实现Connection方法,因此会报:X:/jbpm-starters-kit-3.1.2/jbpm.3/src/java.jbpm.test/org/jbpm/persistence/db/MockConnection.java:13: org.jbpm.persistence.db.MockConnection不是抽象的,并且未覆盖 java.sql.Connection 中的抽象方法,只要将没有实现的方法override了就行了,比较简单的办法就是自己创建一个类实现java.sql.Connection接口,Eclipse便会把所有需要实现的方法都添加上,查找没有实现的方法添加进去抛出异常就可以了。

?

??? 6、安装Eclipse插件:将X:/jbpm-starters-kit-3.1.2/jbpm-designer/jbpm-gpd-feature/eclipse目录下的两个目录copy到Eclipse安装目录,重新启动Eclipse即可。有个辅助工具开发起来方便一点,只不过现在 jBPM 的开发工具插件功能还不算太强,也就一个“项目创建向导”的功能,让你:

  ??? 1)不用再去配置 classpath 库的引用了

  ??? 2)直接得到了一个 jBPM 的项目初始结构

???????? 如果安装成功,则 Eclipse 首选项里多了一个 JBoss JBPM ,另外我们也需要到这个 jBPM 的首选项里做一些配置工作——指定 jBPM 的安装路径,这个配置主要是为了找到 jbpm 下的各种 jar 包,好让 Eclipse 设置项目的库引用。将JBPM指向:X:/jbpm-starters-kit-3.1.2/jbpm.3。

?

有几个网站是值得推荐的:

http://tech.ddvip.com/2008-09/122060656260864.html 豆豆网的《jbpm开发入门指南》,

我的大部分操作是参考这个教程,

还有一个:http://zhangym.javaeye.com/ ?张玉明的博客提供了《JBoss_jBPM_jPDL用户开发手册》,

希望有兴趣的朋友可以去看看。

?

?

?

读书人网 >软件架构设计

热点推荐