ssh2整合jbpm4.4,实现节点回退,取回,会签,委托之我见

最近整合工作流到ssh2框架当中,碰到了一些问题并解决,现出来跟大家分享一下,希望大家能多提意见!

首先是jbpm.cfg.xml,让改成spring事务支持<import resource="jbpm.tx.spring.cfg.xml" />,然后指定spring配置文件名<process-engine-context>
    <string name="spring.cfg" value="applicationContext.xml" />
  </process-engine-context>,这样就可以用spring管理jbpm中的实体了

第二步,通过springhelper获取processEngine对象,关于这个对象对jbpm4.4的意义,我想大家懂的

<bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper" />

 <bean id="processEngine" factory-bean="springHelper"
  factory-method="createProcessEngine" />

第三步,实现jbpmTemplate,作用如同大家常用的jdbcTemplate和hibernateTemplate,这样的好处是可以隐藏一些jbpm的操作逻辑,便于流程处理的统一更改。关于jbpmTemplate中都要实现那些方法,大家按照自己的业务需求实现吧!

<bean id="jbpmTemplate" class="com.wms.core.utils.jbpm.JbpmTemplate">
  <property name="processEngine" ref="processEngine"></property>
 </bean>

第四步,对jbpm中的事件做业务逻辑切面处理,做监听器集合,将控制流程运转的一些业务逻辑分离出来,其中我做了三个基础的事件,任务提交,任务回退,任务取回,大家根据需求可以扩展自己的基础事件,

第五步,扩展会签和委托的jbpm的command实现,关于jbpm的实现是关于command模式的事情,这里我不用在赘述了吧。

第六步,完成url控制的ui层,提供操作流程运转的功能,这块就不需要有业务逻辑的判断了,扩展之前的业务逻辑方法就ok了,最后说明一下,我再做流程控制的时候,variable中不但传输了流程需要传送的数据,还传送了一部分业务逻辑判断需要的数据,如果大家对这块有更好的处理方式,记得一定给我留言建议啊,谢谢大家了!

 

你可能感兴趣的:(spring,bean,xml,配置管理,jbpm)