jbpm+tomcat+mysql配置指南
来源:互联网 发布:java文件大小转换 编辑:程序博客网 时间:2024/05/19 13:08
1 概述
本文主要讲解jbpm+tomcat+mysql配置过程,程序用例为jBPM自带例子websale。主要环境内容如下:
Ø IDE:Eclipse3.2.1
Ø JDK:J2SDK1.5.06
Ø Tomcat:Tomcat5.5.17
Ø jBPM:jbpm-starters-kit-3.1.2
Ø Database:MySQL5.0.27
2 环境准备
2.1 安装JDK1.5.06
去java.sun.com下载JDK1.5.06安装文件。
双击JDK1.5.06安装文件,安装JDK1.5.06。安装完成后,在系统环境变量中设置JAVA_HOME,并指向JDK1.5.06安装目录。后面称为JAVA_HOME。
2.2 安装Eclipse3.2.1
去www.eclipse.org下载Eclipse3.2.1压缩包。
将下载的Eclipse3.2压缩包,解压到系统某个目录(D:\eclipse),后面称为ECLIPSE_HOME。
2.3 安装Tomcat5.5.17
去http://www.apache.org/下载Tomcat5.5.17安装文件。
双击Tomcat5.5.17安装文件,安装Tomcat5.5.17到系统某个目录(D:\Tomcat5.5),后面称为TOMCAT_HOME。
2.4 安装MySQL5.0.27
去http://www.mysql.com/下载mysql-5.0.27-win32.zip压缩文件。
解压该文件后,双击MySQL5.0.27安装文件,安装MySQL5.0.27到系统某个目录(D:\Tomcat5.5),后面称为MySQL_HOME。
2.5 下载jBPM3.1.2
jBPM的下载地址:http://www.jboss.com/products/jbpm/downloads
² JBoss jBPM是jBPM的软件包
² JBoss jBPM Starters Kit是一个综合包,它包括了jBPM软件包、开发插件、一个配置好了的基于JBoss的jBPM示例、一些数据库配置文件示例。
² JBoss jBPM Process Designer Plugin是辅助开发jBPM的Eclipse插件。
² JBoss jBPM BPEL Extension jBPM关于BPEL的扩展包
本指南选择下载:JBoss jBPM Starters Kit 3.1.2。下载后解压到 D:\jbpm-starters-kit-3.1.2,后面简称JBPM_HOME。目录下含有五个子目录:
² jbpm jBPM的软件包,包含源码,例子等文件内容。
² jbpm-bpel只含有一个网页
² jbpm-db各种数据库hibernate配置文件示例,有些还包含了相应的jdbc驱动程序。
² jbpm-designer辅助开发jBPM的Eclipse插件,具体在jbpm-gpd-feature子目录中
² jbpm-server一个已经配置好了的基于JBoss的jBPM示例。
2.6 安装jBPM的Eclipse开发插件
有个辅助工具开发起来方便一点,只不过现在 jBPM的开发工具插件功能还不算太强,也就一个“项目创建向导”的功能,让你:
² 不用再去配置classpath库的引用了
² 直接得到了一个jBPM的项目初始结构
其实吧,开发jBPM也不需要什么插件工具,在熟练了以后,库引用了项目初始结构都可以手工创建。
插件不用再去下载了,jbpm-starters-kit-3.1.2包里就有,目录地址如下: D:\jbpm-starters-kit-3.1.1\jbpm-designer\jbpm-gpd-feature\eclipse,插件的安装方式是链接式还是直接复制式,另外,注明一下Eclipse的版本我是用3.2.1,插件和Eclispe版本相关的,要注意了。
如果安装成功,则Eclipse首选项里多了一个JBoss jBPM,另外我们也需要到这个jBPM的首选项里做一些配置工作――指定jBPM的安装路径(如下图所示)。这个配置主要是为了找到jbpm下的各种jar包,好让Eclipse设置项目的库引用。
例如新建一个jbpm的工程后,其目录树结构如下图所示:
3 具体配置情况
3.1 更改工程名称
在JBPM_HOME\jbpm目录下找到文件“.project”,用记事本打开,将以下内容<name>jbpm.3_BRANCH_3_1</name>更改为<name>jbpm.3</name>,保存文件。
在将JBPM_HOME\jbpm文件夹更改为JBPM_HOME\jbpm.3。后面引用工程名称为jbpm.3。
3.2 导入工程
启动eclipse,通过“Import”将jBPM工程导入eclipse中。如下图所示:
图(1) 选择已经存在的工程
图(2) 选择工程
点击“Finish”完成导入,导入后的工程情况如下图所示:
图(3) 工程结构图
3.3 建库
在MySQL中建立数据库jbpm。字符集采用GBK。建表SQL如下:
CREATE DATABASE `jbpm`
CHARACTER SET 'gbk'
COLLATE 'gbk_chinese_ci';
3.4 添加MySQL驱动
在工程jbpm.3的lib目录下建立mysql文件夹,将MySQL需要的JDBC驱动程序拷贝其中。目录结构如下图所示:
图(4) MySQL驱动位置
3.5 建立数据库表
3.5.1 创建create.db.hibernate.properties
在工程jbpm.3的src/resources目录下建立mysql目录,并将jbpm.3/src/resources/hsqldb目录下的所有文件(create.db.hibernate.properties和identity.db.xml)拷贝入mysql中。目录结构如下图所示:
图(5) MySQL的create.db.hibernate.properties文件位置
3.5.2 修改create.db.hibernate.properties
在eclipse中,双击工程jbpm.3/src/resources/mysql下的create.db.hibernate.properties,打开该文件,修改其中的内容。
修改前内容:
hibernate.dialect=org.hibernate.dialect.HSQLDialect
hibernate.connection.driver_class=org.hsqldb.jdbcDriver
hibernate.connection.url=jdbc:hsqldb:hsql://localhost:1701
hibernate.connection.username=sa
hibernate.connection.password=
hibernate.show_sql=true
修改后内容:
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://127.0.0.1:3306/jbpm
hibernate.connection.username=root
hibernate.connection.password=root
hibernate.show_sql=true
修改完后,保存并关闭文件。
3.5.3 修改build.deploy.xml
在eclipse中打开工程jbpm.3下的build.deploy.xml文件,在
<target name="create.db" depends="declare.jbpm.tasks, db.clean, db.start"
description="creates a hypersonic database with the jbpm tables and loads the processes in there">
之前,添加如下内容:
<target
name="create.db.mysql"
depends="declare.jbpm.tasks"
description="creates a mysql database with the jbpm tables and loads the processes in there.
Run this target after starting mysql">
<jbpmschema
actions="create"
cfg="${basedir}/src/config.files/hibernate.cfg.xml"
properties="${basedir}/src/resources/mysql/create.db.hibernate.properties" />
<loadidentities
file="${basedir}/src/resources/mysql/identity.db.xml"
cfg="${basedir}/src/config.files/hibernate.cfg.xml"
properties="${basedir}/src/resources/mysql/create.db.hibernate.properties" />
<ant antfile="build.xml"
target="build.processes"
inheritall="false" />
<deployprocess
cfg="${basedir}/src/config.files/hibernate.cfg.xml"
properties="${basedir}/src/resources/mysql/create.db.hibernate.properties">
<fileset dir="build" includes="*.process" />
</deployprocess>
</target>
<property
file="${basedir}/src/resources/mysql/create.db.hibernate.properties" />
<target
name="execute.mysql.sql"
description="execute a mysql sql script with -Dmysql.script=path-to-script.">
<sql
driver="${hibernate.connection.driver_class}"
url="${hibernate.connection.url}" userid="${hibernate.connection.username}"
password="${hibernate.connection.password}"
delimiter=";"
autocommit="true"
onerror="continue">
<classpath
refid="classpath.ant" />
<transaction
src="${mysql.script}" />
</sql>
</target>
3.5.4 生成库表
在eclipse中,右键点击工程jbpm.3下的build.deploy.xml文件,在菜单中选择“Run As\Ant Build…”,在出现的窗口中选择“target”为“create db mysql”,然后点击“Run”按钮,开始运行Ant。
图(6) Ant建立库表
等运行完毕后,可以在MySQl中查看到相应得数据库表结构已经建立,并且已经部署了websale需要用到的流程信息。
图(7) jbpm_processdefinition表中的流程名称
图(8) jbpm_variableaccess表中信息
3.6 建立web运行需要内容
3.6.1 修改hibernate.cfg.xml
在eclipse中打开工程jbpm.3下的src/config.files目录下的hibernate.cfg.xml文件,修改其中的内容为:
<!-- jdbc connection properties -->
<property name="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="hibernate.connection.url">
jdbc:mysql://127.0.0.1:3306/jbpm
</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<!-- other hibernate properties -->
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">false</property>
<property name="hibernate.use_sql_comments">false</property>
注意,只修改跟数据库连接有关的内容,这里你可以根据自己数据库的不同,而建立不同的hibernate连接。
3.6.2 修改build.deploy.xml
在eclipse中打开工程jbpm.3下的build.deploy.xml文件,找到如下“target”,
<target name="build.webapp" description="builds jbpm.war">
<ant antfile="build.xml" target="build.webapp" />
<mkdir dir="build/jbpm.war.dir" />
<copy todir="build/jbpm.war.dir">
<fileset dir="src/resources/jbpm.war" />
</copy>
………………………………………
<jar destfile="build/jbpm.war">
<fileset dir="build/jbpm.war.dir" />
</jar>
</target>
并将此“target”内容更改为如下内容:
<target name="build.webapp" description="builds jbpm.war">
<ant antfile="build.xml" target="build.webapp" />
<mkdir dir="build/jbpm.war.dir" />
<copy todir="build/jbpm.war.dir">
<fileset dir="src/resources/jbpm.war" />
</copy>
<copy todir="build/jbpm.war.dir/WEB-INF/classes">
<fileset dir="src/config.files" />
</copy>
<copy todir="build/jbpm.war.dir/WEB-INF/lib">
<fileset dir="build"
includes="jbpm*.jar,converter.jar"
excludes="*src*.jar" />
<fileset dir="lib/jsf" includes="*.jar" />
<fileset dir="lib/dom4j" includes="*.jar" />
<fileset dir="lib/hibernate" includes="*.jar" />
<fileset dir="lib/mysql" includes="*.jar" />
<fileset dir="lib/commons"
includes="commons-digester-*.jar,
commons-beanutils-*.jar,
commons-fileupload-*.jar" />
<fileset dir="lib/jboss"
includes="*.jar"
excludes="jboss*.jar,
*servlet*.jar,
*hsql*.jar" />
</copy>
<jar destfile="build/jbpm.war">
<fileset dir="build/jbpm.war.dir" />
</jar>
</target>
3.6.3 打包成war文件
在eclipse中,右键点击工程jbpm.3下的build.deploy.xml文件,在菜单中选择“Run As\Ant Build…”,在出现的窗口中选择“target”为“build webapp”,然后点击“Run”按钮,开始运行Ant。
图(9) Ant打包war文件
3.7 发布应用
在工程jbpm.3下build目录中,将jbpm.war文件拷贝到TOMCAT_HOME\webapps目录下。启动Tomcat。启动完成后,日志会不断输出,其中最后一句是“DEBUG [StaticNotifier] going to wait for (CMD_EXECUTOR, java.lang.Object@1df59bd) ”,这表示 jBPM 在开始工作了,它不断进行轮询。
在浏览器中输入地址http://localhost:8080/jbpm,出现登录页面,配置成功。
4 运行应用
打开网页:http://localhost:8080/jbpm/得到如下画面
图(10) 登录界面
这是一个已经用jBPM开发好的用户定单流程,具有下单、审核、估价等流程。
以cookie monster用户登录,选择“create new web sale order”可以创建一个定单。如下图所示,在图左边是填写的定单情况,右边一整个定货流程的示意图,红色框表示流程进行到哪一步了。填写好定单好,选择“Save and Close Task”,完成定单提交。
图(11) 创建新任务
选择右上角的“Login as another user”以另外一个用户名ernie登录。这时可以看到ernie用户的任务列表中多了一项。
图(12) 处理任务
点进去后,显示如下画面。在 comment项填写意见,选 OK 按钮,进入到下一步。如果选择 more info needed按钮,则打回给 cookie monster 用户修改定单。
图(13) 处理内容
5 结束语
本文比较简单的阐述了jbmp与mysql与tomcat之间的配置管理。对于其他数据库以及web容器其方式是一样的,可参照本配置指南进行相关配置。
- jbpm+tomcat+mysql配置指南
- jbpm+tomcat+mysql配置指南
- jbpm+tomcat+mysql配置指南
- jbpm+tomcat+mysql配置指南
- jbpm+tomcat+mysql配置指南 (2007-11-22 10:38)
- JBPM实践系列(一)---安装配置之jbpm-console(tomcat+mysql+jbpm)
- jbpm 3.2.2 + tomcat + mysql 安装配置总结
- JBoss jBPM安装配置(Tomcat 6.0+MySQL 5.1)
- [jbpm]jBPM(八): 也说jBPM + Tomcat + MySQL
- Tomcat+MySQL+jBPM 安裝說明 [精華]
- JBoss JBPM 实践系列(一)--- 安装配置(Tomcat 6.0 + MySQL 5.1)
- Tomcat配置指南
- Tomcat配置指南
- 在Tomcat和Mysql下部署JBPM 3.2.2
- jbpm在tomcat和mysql上的迁移部署
- JBPM配置
- JBPM 工作流引擎 JBPM指南 jbpm 指南第一章翻译
- jbpm指南部分学习
- 注解+反射+JDBC,实现一个简易的泛型DAO接口
- HDU 2057
- hpp.h与.h的区别
- jBPM开发入门指南
- 移植Android 到mini2440
- jbpm+tomcat+mysql配置指南
- 标准输入、标准输出究竟是什么? .
- 理解反射(一)
- 工作流引擎
- 基于linux2.6.38.8内核启动过程完全解析[一]
- chmod与chown命令
- 一些sql语句
- 优先队列用法
- 穷人的通用OLAP方案III--JPivot表现层