子在川上曰

  逝者如斯夫不舍昼夜
随笔 - 71, 文章 - 0, 评论 - 915, 引用 - 0
数据加载中……

jBPM开发入门指南(2)

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

 

作者简介
陈刚,广西桂林人,著作有《Eclipse从入门到精通》
您可以通过其博客了解更多信息和文章:
http://www.ChenGang.com.cn

posted on 2006-08-22 18:44 陈刚 阅读(36152) 评论(18)  编辑  收藏 所属分类: jBPM

评论

# re: jBPM开发入门指南(2)   回复  更多评论   

将 jbpm-starters-kit-3.1.1 下的子目录 jbpm 改名为 jbpm.3 ,否则在执行下面的 ant 命令时会报如 jbpm.3 目录不存在的错误
==================
其实修改配置文件也是一种不错的选择,见
http://blog.csdn.net/jeffen2006/archive/2006/09/12/1213447.aspx
2006-09-15 09:05 | jeffen2006

# jbpm-starters-kit-3.1.2的jbpm-db\build\目录下为什么没有oracle这个文件夹  回复  更多评论   

jbpm-starters-kit-3.1.2的jbpm-db\build\目录下为什么没有oracle这个文件夹,怎么办?
我自己新建了一个也不行
往各位大侠指教一二
2006-10-13 15:20 | 呵呵发挥反对何等和

# re: jBPM开发入门指南(2)   回复  更多评论   

跟jdk有关,换个1.5的就可以
2007-01-11 14:52 | odexuce

# re: jBPM开发入门指南(2)   回复  更多评论   

我的也没有,不知道怎么回事!!
2007-06-13 14:45 | yzl

# re: jBPM开发入门指南(2)   回复  更多评论   

大哥,根本就执行不了,说是抽象方法没有被覆盖,晕了,到底是怎么回事啊,我用的jdk1.6,也回出现这样的问题么,
能不能把最新的方法贴上来啊,谢谢!!!
2007-06-13 15:14 | yzl

# re: jBPM开发入门指南(2)   回复  更多评论   

jBPM这种开源软件,各版本在使用上都是有差异的。即使是同一版本,也可能因为环境、操作等因素出现问题。很久不用jBPM早忘记了,没法解决各位的问题,实在抱歉。
2007-06-14 09:35 | 陈刚

# re: jBPM开发入门指南(2)   回复  更多评论   

我用的是jbpm-starters-kit-3.1.4,jbpm-db\build\目录下也没有oracle这个文件夹,但我运行了一下ant oracle.scripts 就有了。
2007-08-16 10:02 | Gone with the Wind

# re: jBPM开发入门指南(2)   回复  更多评论   

我运行之后oracle目录是有了,但是文件没有产生出来,这是怎么回事啊?
2007-08-24 16:50 | aquila

# re: jBPM开发入门指南(2)   回复  更多评论   

大恩不言谢!!
我前行中的一座灯塔!!!!
2007-09-04 10:05 | liumingrui

# re: jBPM开发入门指南(2)   回复  更多评论   

我将继续关注………………
再次为你所作的一切表示感谢!!
2007-09-04 10:06 | liumingrui

# re: jBPM开发入门指南(2)   回复  更多评论   

感谢 非常感谢
我按照上面的方法 ,到现在为止
都成功了
只要细心点就可以了
2008-09-18 09:50 | 吃了年轻的亏

# re: jBPM开发入门指南(2) [未登录]  回复  更多评论   

呵呵,我照葫芦画瓢通过了,感谢楼主。
2008-09-22 17:22 | 小鸟

# re: jBPM开发入门指南(2)   回复  更多评论   

我 在 DOS 窗下,进入 D:\jbpm-starters-kit-3.1.1\jbpm-db 目录,执行如下命令:
ant mysql.scripts

就报错,如下图:
compile.jbpm.test:
[mkdir] Created dir: D:\jbpm-starters-kit-3.1.1\jbpm.3\build\classes.jbpm.test
[javac] Compiling 252 source files to D:\jbpm-starters-kit-3.1.1\jbpm.3\build\classes.jbpm.test
[javac] D:\jbpm-starters-kit-3.1.1\jbpm.3\src\java.jbpm.test\org\jbpm\persistence\db\MockConnection.java:13:org.jbpm.persistence.db.MockConnection 不是抽象的,并且未覆盖 java.sql.Connection 中的抽象方法 createStruct(java.lang.String,java.lang.Object[])
[javac] public class MockConnection implements Connection {
[javac] ^
[javac] 注意:某些输入文件使用或覆盖了已过时的 API。
[javac] 注意:要了解详细信息,请使用 -Xlint:deprecation 重新编译。
[javac] 1 错误


哪位大侠帮小妹一下!刚学这个,不太明白
2008-10-30 00:23 | cjx

# re: jBPM开发入门指南(2)   回复  更多评论   

我也出现compile.jbpm.test:
[mkdir] Created dir: D:\jbpm-starters-kit-3.1.1\jbpm.3\build\classes.jbpm.test
[javac] Compiling 252 source files to D:\jbpm-starters-kit-3.1.1\jbpm.3\build\classes.jbpm.test
[javac] D:\jbpm-starters-kit-3.1.1\jbpm.3\src\java.jbpm.test\org\jbpm\persistence\db\MockConnection.java:13:org.jbpm.persistence.db.MockConnection 不是抽象的,并且未覆盖 java.sql.Connection 中的抽象方法 createStruct(java.lang.String,java.lang.Object[])
[javac] public class MockConnection implements Connection {
[javac] ^
[javac] 注意:某些输入文件使用或覆盖了已过时的 API。
[javac] 注意:要了解详细信息,请使用 -Xlint:deprecation 重新编译。
[javac] 1 错误

这个错误,请问是什么原因?该怎么解决?
2008-10-30 17:23 | foamlower

# re: jBPM开发入门指南(2)   回复  更多评论   

我想是不是因为我的JDK版本和它程序里的版本不一样,源程序中java.sql.Connection 还有很多方法在类MockConnection未实现,可把它实现,重新运行则报出 [javac] Compiling 55 source files to E:\download\eclipsejbpm\jbpm-starters-k
it-3.1.4\jbpm.3\build\classes.jbpm.test
[javac] E:\download\eclipsejbpm\jbpm-starters-kit-3.1.4\jbpm.3\src\java.jbpm
.test\org\jbpm\persistence\db\MockConnection.java:174: -source 1.4 中不支持注释
[javac] (请使用 -source 5 或更高版本以启用注释)
[javac] @Override
[javac] ^
[javac] E:\download\eclipsejbpm\jbpm-starters-kit-3.1.4\jbpm.3\src\java.jbpm
.test\org\jbpm\persistence\db\MockConnection.java:244: -source 1.4 中不支持泛型
[javac] (请使用 -source 5 或更高版本以启用泛型)
[javac] public void setTypeMap(Map<String, Class<?>> map) throws SQLExceptio
n {
[javac] ^
[javac] 2 错误
查看我的机子上的JDK版本,运行
java –version java version "1.3.1_01"
javac –version javac 1.6.0_05
现在问题又多了几个:
1、为何这两个版本查看的结果不一样?
2、这到底是它源代码的原因还是我的java版本太低?
3、在build.xml文件中未发现javac的节点?那他又是如何先编译的?
我现在改为用jbpm-jpdl-suite-3.2.3.zip,里面的sql语句已经建好了,只要拷贝这些建表语句执行就可以了。不过针对上面问题,还是希望有人能帮我解答。
我的邮箱是:stta0405@163.com,希望知道原因的朋友邮箱告知我,先道声谢了。
2008-10-31 11:53 | foamlower

# re: jBPM开发入门指南(2)   回复  更多评论   

你从cmd中进入..\jbpm-starters-kit-3.1.2\jbpm-db目录,然后ant oracle.scripts按回车键就可以了,然后到jbpm-db\build\oracle\scripts就可以找到4个sql文件了。
2009-03-18 22:12 | wushx

# re: jBPM开发入门指南(2)   回复  更多评论   

lang.String,java.lang.Object[])
[javac] public class MockConnection implements Connection {
[javac] ^
[javac] 注意:某些输入文件使用或覆盖了已过时的 API。
[javac] 注意:要了解详细信息,请使用 -Xlint:deprecation 重新编译。
[javac] 1 错误
2009-04-12 17:13 | fu_tingying

# re: jBPM开发入门指南(2)   回复  更多评论   

Я последнее время что-то подсел на него. Это такой блог куда может писать каждый обо всём на свете, но тематика довольно обширная и интересная. Очень много нового узнаёшь, причем большинство других блогов, новостных агенств, да что там говорить - даже радиостанций тупо передирают с него информацию.
2010-04-20 15:29 | jordan shoes

只有注册用户登录后才能发表评论。


网站导航: