`
stta04
  • 浏览: 114847 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

第二课 JBPM数据库的构建

    博客分类:
  • jbpm
阅读更多

jBPM 需要数据库支持, jBPM 会把自己的一个初始化数据存储到数据库,同时工作流的数据也是存储到数据库中的。 jBPM 使用 Hibernate 来做为自己的存储层,因此只要是 Hibernate 支持的数据库, jBPM 也就支持。 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

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

下面是网上查找到的关于JBPMMySQLOracle数据库,大家可以参考:

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

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 库中创建一个个的数据表

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

3 sqlserver

由于我的电脑安装的是SqlServer,故下面来介绍sqlserver数据库:

1、 建数据库

Sqlserver中创建数据库,库名:jbpm

2、 生成建表的SQL语句并建表

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

E:\software\jbpm-starters-kit-3.1.2\jbpm-db\build.xml:361: The following error occurred while executing this line:

E:\software\jbpm-starters-kit-3.1.2\jbpm-db\build.xml:68: Basedir E:\software\jbpm-starters-kit-3.1.2\jbpm.3 does not exist

*注意:一定记得把选项配置里也改过来

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

ant mssql.scripts

报错:

compile.jbpm.test:

[mkdir] Created dir: E:\software\jbpm-starters-kit-3.1.2\jbpm.3\build\classe

s.jbpm.test

[javac] Compiling 255 source files to E:\software\jbpm-starters-kit-3.1.2\jb

pm.3\build\classes.jbpm.test

[javac] E:\software\jbpm-starters-kit-3.1.2\jbpm.3\src\java.jbpm.test\org\jb

pm\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 错误

修改jbpm-starters-kit-3.1.2\jbpm.3\src\java.jbpm.test\org\jb

pm\persistence\db\MockConnection.java源代码,覆盖setTypeMap()方法

再次运行,报错如下:

mysql.scripts:

prepare:

compile.jbpm:

compile.identity:

compile.jbpm.test:

[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

解决方法:

最后在做到后面第一个简单实例后,又尝试了如何解决这个问题,发现在jbpm-starters-kit-3.1.2\jbpm-db\build目录下也已建好了建立数据库的sql语句。

如果你一定要你ant生成sql语句:

1)修改jbpm-starters-kit-3.1.2\jbpm.3\ build.properties(下面的路径你可根据你的安装路径来修改):

# ant.home is only used in the ant.install.libs target for copying the junit and clover libs

ant.home=E:\software\ant

# jbpm.home is only to allow build scripts to open the browser with the html test results

jbpm.home=E:\software\jbpm-starters-kit-3.1.4\jbpm.3

2) 修改jbpm-starters-kit-3.1.2\jbpm.3\ build.properties

<javac srcdir="src/java.jbpm" destdir="build/classes.jbpm" source="1.4" target="1.4" debug="on" fork="yes">

全部改为1.6(因为我的JDK1.6.0_05),只要你的JDK1.5的以上就OK,改为你的JDK版本)。

*运行命令前,先删除E:\software\jbpm-starters-kit-3.1.4\jbpm-db目录下的build文件夹。以便后来更加可以看到你下面操作的结果,否则你不知道你生成的文件在哪里。

如输入ant mssql.scripts

你将在E:\software\jbpm-starters-kit-3.1.4\jbpm-db\build目录下看到与你数据库相对应的目录mssql下多了一个scripts文件夹即:jbpm-starters-kit-3.1.4\jbpm-db\build\mssql\scripts,该文件夹里下生成了以下几个文件:

mssql.clean.sql mssql.create.sql mssql.drop.create.sql mssql.drop.sql

OK,问题解决了。

套用在舟山四年每夜从收音机里传出电台主持人的告别声:
晚安,我的广州!

晚安,我的朋友!

可以安心入睡了,晚安,everybody

分享到:
评论

相关推荐

    JBPM4.3数据库说明书

    #### 二、JBPM4核心数据库表说明 ##### 1. **JBPM4_DEPLOYMENT**:流程定义表 - **DBID_**: 主键,用于唯一标识一个流程模板。 - **NAME_**: 存储流程模板的名称。 - **TIMESTAMP_**: 记录流程定义的最后修改时间戳...

    jbpm教程 第二部分、(安装和配置JBPM5.4及Eclipse流程插件安装)

    【JBPM教程第二部分:安装与配置JBPM5.4及Eclipse流程插件】 JBPM,全称为Java Business Process Management,是一个开源的工作流和业务流程管理(BPM)平台,它提供了完整的流程生命周期管理,包括设计、部署、...

    JBPM工作流开发指南

    5.2 JBPM数据库的安装 42 5.2 JBPM流程发布 45 5.2.1 搭建JBPM的WEB应用 46 5.2.2 发布第一个流程 48 六、日历(Scheduler) 54 6.1 Scheduler在C/S程序上的应用 54 6.2 Scheduler 在Web上的应用 57 6.3 Scheduler时间...

    jBPM4入门基础环境配置

    jBPM4是其第四个主要版本,它提供了丰富的功能,包括流程定义、工作流引擎、事件处理、规则集成等,帮助开发者构建灵活且可扩展的业务流程应用程序。 ### 1. jBPM4概述 jBPM4引入了基于BPMN2.0(Business Process ...

    jbpm运行环境配置

    jbpm是一款开源的工作流管理系统,用于构建业务流程应用程序。配置jbpm的运行环境涉及多个步骤,包括对系统的要求、库文件的准备、数据库的初始化以及数据源的配置。以下是详细的配置指南: 首先,确保你的系统满足...

    提前试用spring 集成 jbpm4

    2. 配置数据源,因为jbpm4需要与数据库交互存储流程信息。在这个例子中,描述提到"修改后的mysql数据库脚本",这意味着我们需要为jbpm4创建特定的数据库表,这些表通常包含流程定义、任务实例等信息。 3. 创建jbpm4...

    jBPM5_用户手册-中文版

    第二章 安装 安装 jBPM5 包括下载相关软件包,配置开发环境,如 Eclipse 或其他 IDE,并设置相应的依赖项。此外,还需要配置数据库连接,以便 jBPM 存储流程实例和相关数据。 第三章 流程 流程章节详细介绍了如何...

    jbpm4.4请假例子,eclipse工程

    2. **Eclipse工程**:这个例子是在Eclipse集成开发环境中构建的,Eclipse是一个广泛使用的Java开发工具,提供了丰富的插件支持,包括jbpm插件,使得开发者可以直接在Eclipse中进行流程设计和代码编写。 3. **自动...

    jbpm4.4 工程项目实例

    2. **Web工程结构**:项目以Web工程的形式构建,意味着它可以被集成到诸如MyEclipse这样的开发环境中,并通过Web服务器运行。Web工程通常包括Web资源(如HTML、CSS、JavaScript)、Servlet、JSP等。 3. **数据库...

    jbpm5环境配置、中文文档

    7. **创建第一个jbpm流程**:在Eclipse中,使用jbpm插件创建一个新的工作流项目,设计并编写流程定义文件(.bpmn或.bpmn2),并编译生成流程定义的XML文件。 8. **部署和测试流程**:将流程部署到Guvnor,然后在...

    JBPM 第四部分、SSH2结合JBPM5.4

    在本教程的第四部分,我们将深入探讨如何将SSH2(Spring、Struts2和Hibernate2)框架与JBPM5.4整合,以构建高效的企业级应用。 首先,SSH2是三个流行Java开发框架的组合,它们分别是: 1. **Spring**:这是一个...

    传智播客 jbpm 21讲 第一天(共4天)

    压缩包内的文件名称列表显示了5个视频文件,每个文件可能对应课程中的一个部分或主题,如2-08022302.avi可能是第二部分的内容,4-08022304.avi可能是第四部分的内容,以此类推。这些视频文件将提供详细的讲解和实例...

    JBPM 流程 监控 的实现

    2. **定制报表和仪表盘**:可以利用JBPM的事件服务(Event Services)监听流程中的关键节点,然后将这些数据存储到数据库或者其他日志系统中。通过收集这些数据,可以自定义报表或者使用如Kibana、Grafana这样的可视...

    传智播客 jbpm 21讲 第3天(共4天)

    通过这节课的学习,学员将能更好地理解和掌握jbpm的核心功能,并具备实际项目中应用jbpm的能力。提供的视频文件14-08030102.avi、15-08030103.avi、16-08030104.avi、13-08030101.avi可能分别对应着课程的不同部分,...

    JBPM4.4入门开发实例

    4. **配置数据库连接**:JBPM需要数据库存储流程实例信息,如MySQL或H2,配置相应的数据库连接。 **三、创建请假流程实例(jbpm4leave)** 1. **设计流程模型**:使用Eclipse的BPMN插件或专门的流程设计工具(如...

    jbpm4.4 shh2 项目示例

    jbpm4.4 shh2 项目示例是基于jbpm4.4版本与SSH2(Struts2、Spring和Hibernate)集成的一个实战项目。jbPM(Business Process Management)是一款开源的工作流管理系统,用于实现业务流程自动化。SSH2是Java开发中的...

    JBPM案例详解(全)

    二、JBPM核心概念 1. 工作流模型:使用BPMN 2.0语言定义流程,包括开始事件、结束事件、任务、网关、事件等元素。 2. 流程实例:根据模型启动的流程执行实例。 3. 任务:流程中的工作单元,可分配给特定用户或组完成...

    jbpm-4.4 part02

    这个part02的压缩包可能包含了该版本的次要部分或者第二部分内容,通常这样的分段可能是由于文件大小或分发策略的原因。 JBPM的核心功能包括工作流引擎、业务规则引擎、可视化流程设计工具以及与各种企业应用集成的...

    JBPM5权威指南

    第二章 获得开始 7 2.1 下载 7 2.2 获得开始 7 2.3 社区 8 2.4 资源 8 2.41许可证 8 2.42 源代码 9 2.4.3 从源文件构建 9 第三章 安装 9 3.1 必备的 9 3.2 下载 installer 9 3.3 演示安装 10 3.4 10分钟指南: 使用...

Global site tag (gtag.js) - Google Analytics