本文主要讲解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
去java.sun.com下载JDK1.5.06安装文件。
双击JDK1.5.06安装文件,安装JDK1.5.06。安装完成后,在系统环境变量中设置JAVA_HOME,并指向JDK1.5.06安装目录。后面称为JAVA_HOME。
去www.eclipse.org下载Eclipse3.2.1压缩包。
将下载的Eclipse3.2压缩包,解压到系统某个目录(D:/eclipse),后面称为ECLIPSE_HOME。
去http://www.apache.org/下载Tomcat5.5.17安装文件。
双击Tomcat5.5.17安装文件,安装Tomcat5.5.17到系统某个目录(D:/Tomcat5.5),后面称为TOMCAT_HOME。
去http://www.mysql.com/下载mysql-5.0.27-win32.zip压缩文件。
解压该文件后,双击MySQL5.0.27安装文件,安装MySQL5.0.27到系统某个目录(D:/Tomcat5.5),后面称为MySQL_HOME。
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示例。
有个辅助工具开发起来方便一点,只不过现在 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的工程后,其目录树结构如下图所示:
在JBPM_HOME/jbpm目录下找到文件“.project”,用记事本打开,将以下内容<name>jbpm.3_BRANCH_3_1</name>更改为<name>jbpm.3</name>,保存文件。
在将JBPM_HOME/jbpm文件夹更改为JBPM_HOME/jbpm.3。后面引用工程名称为jbpm.3。
启动eclipse,通过“Import”将jBPM工程导入eclipse中。如下图所示:
图(1) 选择已经存在的工程
图(2) 选择工程
点击“Finish”完成导入,导入后的工程情况如下图所示:
图(3) 工程结构图
在MySQL中建立数据库jbpm。字符集采用GBK。建表SQL如下:
CREATE DATABASE `jbpm`
CHARACTER SET 'gbk'
COLLATE 'gbk_chinese_ci';
|
在工程jbpm.3的lib目录下建立mysql文件夹,将MySQL需要的JDBC驱动程序拷贝其中。目录结构如下图所示:
图(4) MySQL驱动位置
在工程jbpm.3的src/resources目录下建立mysql目录,并将jbpm.3/src/resources/hsqldb目录下的所有文件(create.db.hibernate.properties和identity.db.xml)拷贝入mysql中。目录结构如下图所示:
图(5) MySQL的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
|
修改完后,保存并关闭文件。
在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>
|
在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表中信息
在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连接。
在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>
|
在eclipse中,右键点击工程jbpm.3下的build.deploy.xml文件,在菜单中选择“Run As/Ant Build…”,在出现的窗口中选择“target”为“build webapp”,然后点击“Run”按钮,开始运行Ant。
图(9) Ant打包war文件
在工程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,出现登录页面,配置成功。
打开网页: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) 处理内容
本文比较简单的阐述了jbmp与mysql与tomcat之间的配置管理。对于其他数据库以及web容器其方式是一样的,可参照本配置指南进行相关配置。
相关推荐
NULL 博文链接:https://rmn190.iteye.com/blog/355261
\jbpm开发(eclipse3+myeclipse6+mysql5+tomcat6 )\jbpm开发(eclipse3+myeclipse6+mysql5+tomcat6 )
jbpm tomcat oracle 集成环境配置以及开发
主要是关于将JBPM工作流发布的TOMCAT 和使用MYSQL来维护数据的实例。
Jbpm+Spring+hibernate+struts2+mysql+c3p0项目部署
jBPM4.4 安装在Tomcat+MySql环境
jbpm4.4+tomcat+s2sh 完整开发请假流程jbpm
Struts+Hibernate+spring+jpa+lucene+jbpm+compass配置文件
下载后可用eclipse打开,直接部署在tomcat下跑,对初学者非常有用
本示例主要实现了流程的基本管理,流程实例的管理,...使用本例子只需要拷贝jbpm4.3的lib的jar包到本实例lib里面即可运行,注意用tomcat6的话必须把juel.jar,juel-engine.jar、juel-impl.jar剪切到tomcat的lib目录下。
传智播客汤阳光 JBPM+OA 页面静态代码传智播客汤阳光 JBPM+OA 页面静态代码
spring+jbpm的配置示例,jbpm配置,希望大家一起进行学习,共同提高
jbpm+bibernate jar包
spring+struts+hibernate+jbpm+dwr整合开发的OA办公系统源码
替换h2数据库,jbpm7.3+mysql相关配置文件,如配置有问题可下方留言
用jbpm写了一个简单的“请假流程”,供初学者参考。
jbpm+S2SH请假流程经典实现及源码
JBPM5+Spring+Hibernate+MySQL 请假例子
JBoss+jBPM+jPDL用户开发手册
JBoss+jBPM+jPDL用户开发手册,JBPM数据库表说明,工作流框架jbpm使用说明书