使用jBPM开发企业流程应用之在Tomcat上部署流程引擎及控制台-阿里云开发者社区

开发者社区> 技术小胖子> 正文

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

简介:
+关注继续查看
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,访问控制台:
OK!
 



     本文转自胡奇 51CTO博客,原文链接:http://blog.51cto.com/huqicto/280647,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Android M应用启动流程分析
Android M的Activity启动的完整流程
3234 0
钉钉专属存储部署流程
七步部署钉钉专属存储
418 0
2019比原链全球开发者大会落幕:高举开源旗帜,聚焦区块链应用落地
北京时间8月25日,2019比原链全球开发者大会在美国旧金山Fort Mason Cowell Theater成功举办。会议吸引了来自美国、俄罗斯、印度、比利时、加拿大、巴西、赞比亚、委内瑞拉等多个国家的技术达人,参赛项目涉及稳定币支付系统、供应链金融、合约开发工具、教育科技等多个领域。
2160 0
iOS平台应用开发的敏捷设计流程
  本文翻译自《Computer Arts》中对专注于iPhone和iPad应用开发的设计师Sarah Parmenter的访谈录,希望对iPhone应用开发的朋友能有所帮助。   以下为全部译文:   对设计师来说,iPhone和iPad是全新的平台。
640 0
使用阿里云容器服务 ACK 和文件存储 NAS 构建现代化企业应用
大规模构建容器化应用程序需要高可靠、弹性、共享且支持高性能数据处理的数据存储解决方案。通过迁移到公共云,企业可以获得更高的生产效率和更低的成本。阿里云文件存储可以为现代化应用提供强健的数据稳定性,可靠性,高性能和在线扩展能力。
1322 0
AliOS Things 的 ESP32 应用开发流程
本文介绍 Windows 下基于 AliOS Things 的 ESP32 应用开发流程,包括环境搭建、程序编译、固件烧写。
7979 0
21119
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载