在Tomcat和Mysql下部署JBPM 3.2.2

 在JBPM 文档中,并没有说明如何在tomcat下面部署其web console, 在JBPM 3.2.2 中 也只是包涵了JBoss as的运行环境, 为了方便学习,如何在tomcat下面部署呢. 本文在研究了JBPM论坛和wiki上的一些讨论和文章结合实践而成.探讨了如何在Tomcat 6和Mysql 5环境下面部署 JBPM 3.2.2, 详细讲述了如何建立JBPM数据库和部署Tomcat war包.

环境: tomcat 6.0.X
      mysql MySQL 5.0.X
      jbpm-jpdl: 3.2.2 (下载 jbpm-jpdl-suite-3.2.2.zip 文件)

把 jbpm-jpdl-suite-3.2.2.zip 解压到一个文件夹,例如E盘
1.创建数据库schema.
 1.1使用mysql创建一个数据库,例如J322demo

 1.2在 E:/jbpm-jpdl-3.2.2/db 下有个 jbpm.jpdl.mysql.sql 数据库脚本文件,我们

不能直接导入该文件, 会提示有错误, 应为该文件格式有问题, 首先打开该文件(推荐

UltraEdit), 把前面的 alter table JBPM_XX 语句都删除(因为我们使用的是新的数

据库,所以需要这些语句, 这个脚本文件是升级3.2的数据库表结构用的) 然后在每一

行前面添加一个分号 不然脚本执行会出错. 这样就可以用source命令导入了. 导入后

, 表结构创建成功.

1.3 导入 用户数据:(用于JDBC realm的数据,如果使用tomcat-user.xml配置 这里可

以不用执行, 参考下面第三条)
  将一些脚本导入到数据库中:
INSERT INTO JBPM_ID_GROUP VALUES(1,'G','sales','organisation',NULL);
INSERT INTO JBPM_ID_GROUP VALUES(2,'G','admin','security-role',NULL);
INSERT INTO JBPM_ID_GROUP VALUES(3,'G','user','security-role',NULL);
INSERT INTO JBPM_ID_GROUP VALUES(4,'G','hr','organisation',NULL);
INSERT INTO JBPM_ID_GROUP VALUES(5,'G','manager','security-role',NULL);
INSERT INTO JBPM_ID_USER VALUES(1,'U','user','user@sample.domain','user');
INSERT INTO JBPM_ID_USER VALUES

(2,'U','manager','manager@sample.domain','manager');
INSERT INTO JBPM_ID_USER VALUES

(3,'U','admin','admin@sample.domain','admin');
INSERT INTO JBPM_ID_USER VALUES

(4,'U','shipper','shipper@sample.domain','shipper');
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(1,'M',NULL,NULL,2,4);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(2,'M',NULL,NULL,3,4);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(3,'M',NULL,NULL,4,4);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(4,'M',NULL,NULL,4,3);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(5,'M',NULL,NULL,1,3);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(6,'M',NULL,NULL,2,3);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(7,'M',NULL,NULL,3,3);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(8,'M',NULL,NULL,3,2);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(9,'M',NULL,NULL,2,2);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(10,'M',NULL,NULL,2,5);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(11,'M',NULL,'boss',2,1);
INSERT INTO JBPM_ID_MEMBERSHIP VALUES(12,'M',NULL,NULL,1,1);

2.准备jbpm web发布包
  2.1在E:/jbpm-jpdl-3.2.2/deploy 文件夹下 运行
    ant customize.console.for.tomcat
  2.2 上面的命令 会在 E:/jbpm-jpdl-3.2.2/deploy/customized文件夹下 生成一个

jbpm-console.war 文件.
  2.3 修改jbpm-console.war/WEB-INF/classes/hibernate.cfg.xml 文件,使用

mysql:

 修改如下:
<hibernate-configuration>
  <session-factory>

    <!-- hibernate dialect -->
    <property

name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property

>

    <!-- JDBC connection properties (begin) -->
    <property

name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property

name="hibernate.connection.url">jdbc:mysql://localhost:3306/jbpm32</propert

y>
    <property name="hibernate.connection.username">jbossjbpm</property>
    <property name="hibernate.connection.password">jbossjbpm</property>
     <!-- JDBC connection properties (end) -->
    
    <property

name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCachePro

vider</property>
   
    <!-- DataSource properties (begin) ==
    <property

name="hibernate.connection.datasource">java:/JbpmDS</property>
    == DataSource properties (end) -->
    <property

name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTr

ansactionFactory</property>
...   

2.4 把 E:/jbpm-jpdl-3.2.2/lib 目录下的commons-collections.jar 和jboss-

j2ee.jar 复制到 jbpm-console.war/WEB-INF/lib目录
2.5 把 mysql驱动复制到 /$CATALINA_HOME/lib目录
2.6 把修改后的jbpm-console.war 复制到 /$CATALINA_HOME/webapps目录,

现在你就可以正确部署了.但是你会发现你还不能登陆. 要正确登陆 我们还需要配置

安全域(security realm)

3 设置tomcat安全域
 可以直接修改 /$CATALINA_HOME/conf/tomcat-users.xml文件来设置安全域, 修改后

的文件如下:
为了不和tomcat已有的用户冲突,这里把 tomcat以前的登陆帐号username="admin" 

修改为username="tadmin" .
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="user"/>
  <role rolename="administrator"/>
  <role rolename="manager"/>
  <role rolename="sales"/>
  <role rolename="hr"/>
  <role rolename="admin"/>
  <role rolename="participant"/>
  <user username="user" password="user" roles="user,sales"/>
  <user username="shipper" password="shipper" roles="user,hr"/>
  <user username="manager" password="manager" roles="admin,hr,manager,user,sales"/>
  <user username="tadmin" password="" roles="admin,manager"/>
  <user username="admin" password="admin" roles="admin,user,hr"/>
</tomcat-users>
这样就可以正常登陆了:

或者也可以配置一个JDBC Realm.
在 /$CATALINA_HOME/conf/Catalina/localhost文件夹下创建一个jbpm-console.xml
内容如下: 修改数据库用户名和密码

<Context>
<Realm  className="org.apache.catalina.realm.JDBCRealm"
    driverName="com.mysql.jdbc.Driver"
    connectionURL="jdbc:mysql://localhost:3306/jbpm32"
    connectionName="root"
    connectionPassword="111"
    userTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g"
    userNameCol="g.TYPE_ = 'security-role' AND m.GROUP_ = g.ID_ AND

m.USER_ = u.ID_ AND u.NAME_"
    userCredCol="DISTINCT u.PASSWORD_"
    userRoleTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP

g"
    roleNameCol="g.NAME_" />
</Context>   
现在你就可以 正常登陆了.

ok 现在jbpm-console已经在tomcat上运行成功了.

使用 manager, user, admin, shipper 登陆 来查看每个用户的功能.

资源:
本文用到的数据库建表和数据导入sql脚本 可以从   这里  下载: 

ICESS 原创作品,如需转载,请注明来源并保留本行. 
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值