jBPM 需要数据库支持, jBPM 会把自己的一个初始化数据存储到数据库,同时工作流的数据也是存储到数据库中的。 jBPM 使用 Hibernate 来做为自己的存储层,因此只要是 Hibernate 支持的数据库, jBPM 也就支持。 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
注:在JBoss 自带的示例中,并没有设置数据库,那是因为 jBPM 默认使用的是内存数据库 hsqldb 。
下面是网上查找到的关于JBPM中MySQL和Oracle数据库,大家可以参考:
本文先以 MySQL 为例,然后再以 Oracle 为例,来谈谈 jBPM 的数据库初始化操作。
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 库中创建一个个的数据表
先安装好 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
由于我的电脑安装的是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(因为我的JDK是1.6.0_05),只要你的JDK是1.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核心数据库表说明 ##### 1. **JBPM4_DEPLOYMENT**:流程定义表 - **DBID_**: 主键,用于唯一标识一个流程模板。 - **NAME_**: 存储流程模板的名称。 - **TIMESTAMP_**: 记录流程定义的最后修改时间戳...
【JBPM教程第二部分:安装与配置JBPM5.4及Eclipse流程插件】 JBPM,全称为Java Business Process Management,是一个开源的工作流和业务流程管理(BPM)平台,它提供了完整的流程生命周期管理,包括设计、部署、...
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是其第四个主要版本,它提供了丰富的功能,包括流程定义、工作流引擎、事件处理、规则集成等,帮助开发者构建灵活且可扩展的业务流程应用程序。 ### 1. jBPM4概述 jBPM4引入了基于BPMN2.0(Business Process ...
jbpm是一款开源的工作流管理系统,用于构建业务流程应用程序。配置jbpm的运行环境涉及多个步骤,包括对系统的要求、库文件的准备、数据库的初始化以及数据源的配置。以下是详细的配置指南: 首先,确保你的系统满足...
2. 配置数据源,因为jbpm4需要与数据库交互存储流程信息。在这个例子中,描述提到"修改后的mysql数据库脚本",这意味着我们需要为jbpm4创建特定的数据库表,这些表通常包含流程定义、任务实例等信息。 3. 创建jbpm4...
第二章 安装 安装 jBPM5 包括下载相关软件包,配置开发环境,如 Eclipse 或其他 IDE,并设置相应的依赖项。此外,还需要配置数据库连接,以便 jBPM 存储流程实例和相关数据。 第三章 流程 流程章节详细介绍了如何...
2. **Eclipse工程**:这个例子是在Eclipse集成开发环境中构建的,Eclipse是一个广泛使用的Java开发工具,提供了丰富的插件支持,包括jbpm插件,使得开发者可以直接在Eclipse中进行流程设计和代码编写。 3. **自动...
2. **Web工程结构**:项目以Web工程的形式构建,意味着它可以被集成到诸如MyEclipse这样的开发环境中,并通过Web服务器运行。Web工程通常包括Web资源(如HTML、CSS、JavaScript)、Servlet、JSP等。 3. **数据库...
7. **创建第一个jbpm流程**:在Eclipse中,使用jbpm插件创建一个新的工作流项目,设计并编写流程定义文件(.bpmn或.bpmn2),并编译生成流程定义的XML文件。 8. **部署和测试流程**:将流程部署到Guvnor,然后在...
在本教程的第四部分,我们将深入探讨如何将SSH2(Spring、Struts2和Hibernate2)框架与JBPM5.4整合,以构建高效的企业级应用。 首先,SSH2是三个流行Java开发框架的组合,它们分别是: 1. **Spring**:这是一个...
压缩包内的文件名称列表显示了5个视频文件,每个文件可能对应课程中的一个部分或主题,如2-08022302.avi可能是第二部分的内容,4-08022304.avi可能是第四部分的内容,以此类推。这些视频文件将提供详细的讲解和实例...
2. **定制报表和仪表盘**:可以利用JBPM的事件服务(Event Services)监听流程中的关键节点,然后将这些数据存储到数据库或者其他日志系统中。通过收集这些数据,可以自定义报表或者使用如Kibana、Grafana这样的可视...
通过这节课的学习,学员将能更好地理解和掌握jbpm的核心功能,并具备实际项目中应用jbpm的能力。提供的视频文件14-08030102.avi、15-08030103.avi、16-08030104.avi、13-08030101.avi可能分别对应着课程的不同部分,...
4. **配置数据库连接**:JBPM需要数据库存储流程实例信息,如MySQL或H2,配置相应的数据库连接。 **三、创建请假流程实例(jbpm4leave)** 1. **设计流程模型**:使用Eclipse的BPMN插件或专门的流程设计工具(如...
jbpm4.4 shh2 项目示例是基于jbpm4.4版本与SSH2(Struts2、Spring和Hibernate)集成的一个实战项目。jbPM(Business Process Management)是一款开源的工作流管理系统,用于实现业务流程自动化。SSH2是Java开发中的...
二、JBPM核心概念 1. 工作流模型:使用BPMN 2.0语言定义流程,包括开始事件、结束事件、任务、网关、事件等元素。 2. 流程实例:根据模型启动的流程执行实例。 3. 任务:流程中的工作单元,可分配给特定用户或组完成...
这个part02的压缩包可能包含了该版本的次要部分或者第二部分内容,通常这样的分段可能是由于文件大小或分发策略的原因。 JBPM的核心功能包括工作流引擎、业务规则引擎、可视化流程设计工具以及与各种企业应用集成的...
第二章 获得开始 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分钟指南: 使用...