JBPM4.4环境搭建流程

研究了一段时间的工作流的,也在项目中尝试的使用工作流。也一直在探索使用工作流的好处也在网上找了一些文章的介绍,其中有崔成龙师哥写的博客 从程序员的角度来看为什么我们需要工作流 ,中的介绍,我这里就不在累述了。但是对于工作流的学习我也处在刚刚开始的阶段,对于再高深的理解我也就不多说了。或许等到我们的项目上线我才有更多的发言权。
    但我确实是需要记录一下我的学习过程的。我也会陆续的写一些工作流的文章,首先是帮助我整理知识,也帮助其他的初学者认识这个从无到有的过程。
    JBPM,全称是Java Business Process Management(业务流程管理),它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的基于java实现的流程业务处理框架(Business Process Management)。
    支撑企业的流程性业务应用:解释业务规则,使得协作自动化
    我所使用的是jbpm4.4为什么使用这个版本呢。因为jbpm4是最成熟和使用最广泛的版本。与jbpm3相比,其最大的变化是引入了虚拟机(PVM)同时增加了bpms的特性,jbpm4不再满足于工作流系统的定位,开始向bpms努力。
 准备工作:
    1、使用的相关开发工具软件。

  1)Eclipse IDE for Java EE Developers(Eclipse 4.2)

  2)jBPM4.4

  3)MySQL5.6

    2、配置在Eclipse中设计流程的gpd插件。(用于绘制自定义流程)

  1)gpd插件所在目录:jbpm-4.4\install\src\gpd\jbpm-gpd-site.zip

  2)安装插件:Eclipse菜单 Help-->Install New Softwore...打开Install窗口;在Install窗口点击 Add...打开Add Repository窗口;在Add Repository窗口点击Archive...在插件所在目录选择jbpm-gpd-site.zip。

  3)安装完成会提示是否重启Eclipse,选择重启。

    3、与ssh2整合。

     想要让JBPM4.4与SSH2进行整合,首先肯定是要先让SSH2整合好,那是必须的。关于SSH2的整合,我在这就不多费口舌了,网上资料一大把。
     整合前,很有必要先对JBPM有个感性的认识。JBPM在管理流程时,是需要数据库表的支持的,因为底层的逻辑有那么复杂。默认下载下来的配置,使用的是内存数据库。实际应用中,我们就需要连接到我们的数据库里来。
     研究过JBPM的人都知道,JBPM在操作流程时,一切都是基于ProcessEngine对象,所以整合的思路很简单,只要我们能让Spring创建出ProcessEngine,整合就算是迈出一大步,我们先在spring配置文件(applicationContext.xml)里加入如下代码: 
  1. <!-- 配置ProcessEngine -->  
  2.   <bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper">  
  3.       <property name="jbpmCfg" value="jbpm.cfg.xml"></property>  
  4.   </bean>  
  5.   <bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" />   
  <!-- 配置ProcessEngine -->
    <bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper">
        <property name="jbpmCfg" value="jbpm.cfg.xml"></property>
    </bean>
    <bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" /> 
   
     在这里创建processEngine 对象,在这里用到 jbpm.cfg.xml,它的内容如下:

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <jbpm-configuration>  
  3.   <import resource="jbpm.default.cfg.xml" />  
  4.   <import resource="jbpm.businesscalendar.cfg.xml" />  
  5.     
  6.    <!-- 与Spring整合需要导入jbpm.tx.spring.cfg.xml文件 -->  
  7.   <import resource="jbpm.tx.spring.cfg.xml" />    
  8.     
  9.   <import resource="jbpm.jpdl.cfg.xml" />  
  10.   <import resource="jbpm.bpmn.cfg.xml" />  
  11.   <import resource="jbpm.identity.cfg.xml" />  
  12. </jbpm-configuration>   
<?xml version="1.0" encoding="UTF-8"?>
<jbpm-configuration>
  <import resource="jbpm.default.cfg.xml" />
  <import resource="jbpm.businesscalendar.cfg.xml" />
  
   <!-- 与Spring整合需要导入jbpm.tx.spring.cfg.xml文件 -->
  <import resource="jbpm.tx.spring.cfg.xml" />  
  
  <import resource="jbpm.jpdl.cfg.xml" />
  <import resource="jbpm.bpmn.cfg.xml" />
  <import resource="jbpm.identity.cfg.xml" />
</jbpm-configuration> 

    看到这里,或许你又会问:jbpm.cfg.xml 里又引用了那么多的文件,这些文件在哪里?这些文件,你不用担心,他们都在jbpm.jar文件里,这不是我们管的事。
    到这里,算完了吗?还没有!前面说过,JBPM要数据库表的支持才能工作,JBPM又是使用Hibernate操作数据库,就不免要配置Hibernate的表与实体的映射文件,如下:

  1. <!DOCTYPE hibernate-configuration PUBLIC  
  2.         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
  3.         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
  4. <hibernate-configuration>  
  5.     <session-factory>  
  6.         <!-- 数据库信息 -->  
  7.         <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>  
  8.         <property name="connection.url">jdbc:mysql:///itcastoa_20120216</property>  
  9.         <property name="connection.driver_class">com.mysql.jdbc.Driver</property>  
  10.         <property name="connection.username">root</property>  
  11.         <property name="connection.password">root</property>  
  12.         <!-- 其他配置 -->  
  13.         <property name="show_sql">true</property>  
  14.         <property name="hbm2ddl.auto">update</property>  
  15.         <!-- 导入JBPM4.4的映射文件 -->  
  16.         <mapping resource="jbpm.repository.hbm.xml" />  
  17.         <mapping resource="jbpm.execution.hbm.xml" />  
  18.         <mapping resource="jbpm.history.hbm.xml" />  
  19.         <mapping resource="jbpm.task.hbm.xml" />  
  20.         <mapping resource="jbpm.identity.hbm.xml" />  
  21.         <!-- 导入自己的映射配置(根据自己的情况填写) -->  
  22.         <mapping resource="cn/itcast/oa/domain/User.hbm.xml" />  
  23.         <mapping resource="cn/itcast/oa/domain/Department.hbm.xml" />  
  24.         <mapping resource="cn/itcast/oa/domain/Role.hbm.xml" />   
  25.     </session-factory>  
  26. </hibernate-configuration>    
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <!-- 数据库信息 -->
        <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
        <property name="connection.url">jdbc:mysql:///itcastoa_20120216</property>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.username">root</property>
        <property name="connection.password">root</property>
        <!-- 其他配置 -->
        <property name="show_sql">true</property>
        <property name="hbm2ddl.auto">update</property>
        <!-- 导入JBPM4.4的映射文件 -->
        <mapping resource="jbpm.repository.hbm.xml" />
        <mapping resource="jbpm.execution.hbm.xml" />
        <mapping resource="jbpm.history.hbm.xml" />
        <mapping resource="jbpm.task.hbm.xml" />
        <mapping resource="jbpm.identity.hbm.xml" />
        <!-- 导入自己的映射配置(根据自己的情况填写) -->
        <mapping resource="cn/itcast/oa/domain/User.hbm.xml" />
        <mapping resource="cn/itcast/oa/domain/Department.hbm.xml" />
        <mapping resource="cn/itcast/oa/domain/Role.hbm.xml" /> 
    </session-factory>
</hibernate-configuration>  

    看到这里,或许你又会问,上面的这些*.hbm.xml文件又是哪来的?放心,这些,又是在jbpm.jar里的,我们只管加载就行。 
    下面一步,就是jar包的添加,如果你已经整合了SSH2,那么你只需要再添加
jbpm.jar,
juel-api.jar,
juel-engine.jar,
juel-impl.jar,
mail.jar
    这些工作全部完成。你的jbpm+ssh2的环境就搭建完成了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值