使用jBPM开发企业流程应用之在Tomcat上部署流程引擎及控制台

本文介绍了如何在Tomcat上部署一个独立的jBPM应用,包括使用hsqldb创建数据库,配置hibernate.cfg.xml以连接数据库,修改jbpm-console.war文件以适应Tomcat,并利用Tomcat的用户系统分配流程参与者。通过这些步骤,可以在Tomcat上顺利运行jBPM控制台。
摘要由CSDN通过智能技术生成

jBPM是jBoss的子项目,那么其在jBoss上的部署就相当简单了,基本不用废话,因为在jBPM套装版本(suite)中的server目录就是一个已经部署好jBPM的jBoss,不过这个jBoss启动的时候要连带启动很多应用,太慢了,有点受不了。所以我们最好在Tomcat上部署一个纯洁的、独立的jBPM应用,以便研究。

 

那么,首先,我们需要建库,在db目录中有各种数据库的建库脚本,方便起见,我们用默认的jbpm.jpdl.hsqldb.sql,在hsqldb上建立数据库。

hsqldb是个轻量级的、简单易用的内存/文本数据库,乃是用来做demo的上上佳品。具体怎么使用hsqldb不是这里讨论的重点。可以这样运行hsqldb的控制台进行建库:

java -cp hsqldb.jar org.hsqldb.util.DatabaseManager

同时,假设你把数据存储在文本文件:

D:/_tech/jbpm/jbpm-jpdl-suite/_HSQLDB/huqi_jbpm.txt

那么,我们的数据库连接描述就是:

jdbc:hsqldb:file:D:/_tech/jbpm/jbpm-jpdl-suite/_HSQLDB/huqi_jbpm.txt

 

安装好数据库,建好表,我们就可以开始部署控制台和工作流引擎的war包了。deploy目录中的jbpm-console.war正是此war包,在Tomcat上部署它,需要对它做一些改动和配置。

找到el-api.jar和el-ri.jar两个jar包,把它们加入war包中相应的lib目录。

在war包的classes目录中找到hibernate.cfg.xml这个文件,首先修改数据源,按照我们刚才建立的库,将hibernate.connection.url属性改为:

< property  name ="hibernate.connection.url" > jdbc:hsqldb:file:D:_techjbpmjbpm-jpdl-suite_HSQLDBhuqi_jbpm.txt </ property >

完整的hibernate数据源配置是:

     <!--  hibernate dialect  -->
    
< property  name ="hibernate.dialect" > org.hibernate.dialect.HSQLDialect </ property >

    
<!--  JDBC connection properties (begin)  -->
    
< property  name ="hibernate.connection.driver_class" > org.hsqldb.jdbcDriver </ property >
    
< property  name ="hibernate.connection.url" > jdbc:hsqldb:file:D:_techjbpmjbpm-jpdl-suite_HSQLDBhuqi_jbpm.txt </ property >
    
< property  name ="hibernate.connection.username" > sa </ property >
    
< property  name ="hibernate.connection.password" ></ property >
    
<!--  JDBC connection properties (end)  -->

另外,看到这一段了吧:

     <!--  following mapping files have a dependendy on   -->
    
<!--  'jbpm-identity.jar', mapping files             -->
    
<!--  of the pluggable jbpm identity component.      -->
    
<!--  Uncomment the following 3 lines if you         -->
    
<!--  want to use the jBPM identity mgmgt            -->
    
<!--  component.                                     -->
    
<!--  identity mappings (begin)  -->
    
< mapping  resource ="org/jbpm/identity/User.hbm.xml" />
    
< mapping  resource ="org/jbpm/identity/Group.hbm.xml" />
    
< mapping  resource ="org/jbpm/identity/Membership.hbm.xml" />
    
<!--  identity mappings (end)  -->

这是jBPM自带的组织系统,被用来分配流程参与者的。我们的建库脚本中并没有这3张表(当然,你有兴趣的话也可以自己建这三张表),所以请把这3行注释掉!则jBPM将会使用Tomcat的用户系统来分配参与者。

顺便说一下,这个版本的jBPM至少需要Tomcat5.0的版本去运行,否则会告诉你web.xml的格式不正确。

Tomcat的用户系统都在Tomcat_Home/conf/tomcat-users.xml中定义,jBPM的设计器可以建立一个默认的测试流程,这个流程中涉及到的参与者在tomcat-users.xml中可以这样定义,看例子:

<? xml version='1.0' encoding='utf-8' ?>
< tomcat-users >
  
< role  rolename ="administrator" />
  
< role  rolename ="tomcat" />
  
< role  rolename ="role1" />
  
< role  rolename ="manager" />
  
< role  rolename ="admin" />
  
< role  rolename ="participant" />
  
< user  username ="ernie"  password ="ernie"  roles ="administrator,manager,participant" />
  
< user  username ="bert"  password ="bert"  roles ="participant" />
  
< user  username ="tomcat"  password ="tomcat"  roles ="tomcat" />
  
< user  username ="both"  password ="tomcat"  roles ="tomcat,role1" />
  
< user  username ="role1"  password ="tomcat"  roles ="role1" />
  
< user  username ="grover"  password ="grover"  roles ="participant" />
  
< user  username ="monster"  password ="monster"  roles ="participant" />
  
< user  username ="huqi"  password ="huqi"  roles ="administrator,manager,participant" />
  
< user  username ="cookie"  password ="cookie"  roles ="participant" />
  
< user  username ="admin"  password =""  roles ="admin,manager" />
</ tomcat-users >

 

最后,把修改好的war包copy到Tomcat的webapps目录中,启动tomcat,访问控制台:

http://127.0.0.1:8080/jbpm-console/

OK!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值