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

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

    打开eclipse 点击 help >>> install New Software 找到gpd文件夹下的这个东西

    jbpm4.4学习总结(一)搭建环境、jpdl流程图_第1张图片
  • 1.2查看是否成功安装了插件:WindowàPreference中是否有Jboss jBPM项。(我原先按过jbpm3.2,所以会有两个)

    jbpm4.4学习总结(一)搭建环境、jpdl流程图_第2张图片

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

    jbpm4.4学习总结(一)搭建环境、jpdl流程图_第3张图片

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

    jbpm4.4学习总结(一)搭建环境、jpdl流程图_第4张图片

  •  
  • 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需要学习的东西还是很多的,所以慢慢来吧