`
dragonxiangfu
  • 浏览: 157120 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jbpm+tomcat+mysql配置指南

 
阅读更多

1 概述

本文主要讲解jbpm+tomcat+mysql配置过程,程序用例为jBPM自带例子websale。主要环境内容如下:

Ø IDEEclipse3.2.1

Ø JDKJ2SDK1.5.06

Ø TomcatTomcat5.5.17

Ø jBPMjbpm-starters-kit-3.1.2

Ø DatabaseMySQL5.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 jBPMjBPM 的软件包

² JBoss jBPM Starters Kit是一个综合包,它包括了jBPM软件包、开发插件、一个配置好了的基于JBossjBPM示例、一些数据库配置文件示例。

² JBoss jBPM Process Designer Plugin是辅助开发jBPMEclipse 插件。

² 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辅助开发jBPMEclipse插件,具体在jbpm-gpd-feature子目录中

² jbpm-server一个已经配置好了的基于JBossjBPM示例。

2.6 安装jBPMEclipse开发插件

有个辅助工具开发起来方便一点,只不过现在 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.3lib目录下建立mysql文件夹,将MySQL需要的JDBC驱动程序拷贝其中。目录结构如下图所示:

(4) MySQL驱动位置

3.5 建立数据库表

3.5.1 创建create.db.hibernate.properties

在工程jbpm.3src/resources目录下建立mysql目录,并将jbpm.3/src/resources/hsqldb目录下的所有文件(create.db.hibernate.propertiesidentity.db.xml)拷贝入mysql中。目录结构如下图所示:

(5) MySQLcreate.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.3build目录中,将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 结束语

本文比较简单的阐述了jbmpmysqltomcat之间的配置管理。对于其他数据库以及web容器其方式是一样的,可参照本配置指南进行相关配置。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics