目前正在开发一个使用jbpm引擎的请假工作流,其间遇到了很多问题,感谢ming提供的资料,得以解决……

  • 1.1首先配置eclipse开发环境(GPD)我用eclipse-jee-3.7

     

    打开eclipse

    点击 help >>> install New Software 找到gpd文件夹下的这个东西
  • 1.2查看是否成功安装了插件:WindowàPreference中是否有Jboss jBPM项。(我原先按过jbpm3.2,所以会有两个)

  • 1.3在Eclipse中添加Jpdl4.4 Schema校验

  • 1.4有了流程设计工具,我们就可以画jpdl流程图啦,由于jpdl是基于UML的活动图的,所以理解UML就很好办了,不熟悉的要恶补一下,下面是我画的图

 
1.5jpdl实际上是根据所画生成xml文件
 
  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <process name="leaveProcess" xmlns="http://jbpm.org/4.4/jpdl"> 
  3.    <start g="258,39,30,32" name="start"> 
  4.       <transition g="-83,-17" name="StartProcess" to="LeaveApplication"/> 
  5.    </start> 
  6.    <task assignee="${name}" g="235,146,92,52" name="LeaveApplication"> 
  7.       <assignment-handler class="com.mtf.jbpm.handler.NewApplicationAssignmentHandler"/>     
  8.       <transition g="-113,-17" name="SubmitApply" to="ManagerApprove"/> 
  9.    </task> 
  10.    <task assignee="${name}" g="244,235,92,52" name="ManagerApprove"> 
  11.     <assignment-handler class="com.mtf.jbpm.handler.ManagerApproveAssignmentHandler"/>     
  12.       <transition g="-46,-23" name="ManagerApproved" to="DaysCheck"/> 
  13.       <transition g="-15,-35" name="ManagerDisApproved" to="end"/> 
  14.    </task> 
  15.     <decision g="67,240,48,48" name="DaysCheck"> 
  16.    <handler class="com.mtf.jbpm.handler.DaysCheckHandler" />   
  17.       <transition g="-20,-2" name="LessThan3Days" to="HrMakeSure"/> 
  18.       <transition g="-49,-11" name="MoreThan3Days" to="ExecutiveApprove"/> 
  19.    </decision> 
  20.    <task assignee="${name}" g="30,483,92,52" name="ExecutiveApprove"> 
  21.     <assignment-handler class="com.mtf.jbpm.handler.ExecutiveApproveAssignmentHandler"/>     
  22.       <transition g="-63,-2" name="ExecutiveApproved" to="HrMakeSure"/> 
  23.       <transition g="-96,4" name="ExecutiveDisApproved" to="end"/> 
  24.    </task> 
  25.    <task assignee="${name}" g="218,359,92,52" name="HrMakeSure"> 
  26.     <assignment-handler class="com.mtf.jbpm.handler.HrMakeSureAssignmentHandler"/>     
  27.       <transition g="-76,4" name="to EmailNotify" to="EmailNotify"/> 
  28.    </task> 
  29.    <state g="334,430,92,52" name="EmailNotify"> 
  30.       <transition g="-16,-17" name="to end" to="end"/> 
  31.    </state> 
  32.   <end g="505,475,48,48" name="end"/> 
  33. </process> 
       我认为设计上基本上就这样,其他有差异的地方基本上就是在流程图的细节上了,我画的流程图没有考虑fork 和join,请假也用不上,实际上jbpm需要学习的东西还是很多的,所以慢慢来吧