<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 0,comments - 10,trackbacks - 0

    -----本文原作者:孫文博,發(fā)于http://www.tkk7.com/swboo為了讓更多人了解如要轉(zhuǎn)載請(qǐng)說明,謝謝大家支持原創(chuàng).

    對(duì)于剛開始接觸JBPM的朋友來說,理解工作流引擎著個(gè)概念來說是要費(fèi)工夫的(本人很苯,也是理解了好久才知道引擎的意思的).現(xiàn)在網(wǎng)上大多數(shù)的JBPM例子都是使用的是JUNIT來說明問題的,但是對(duì)于一些沒有從事過JAVA或的剛開始從事JAVA開發(fā)的朋友來說,無疑是很有難度的,所以我在這里寫一個(gè)WEB的例子來教大家JBPM的的使用,以及引擎的含義,好了接下來讓咱們開始.


    1環(huán)境準(zhǔn)備
    至于如何配置JBPM環(huán)境我就不說了,要是不會(huì)請(qǐng)去看陳剛老師的BLOG上面很詳細(xì)(http://www.tkk7.com/chengang/category/12967.html)我在這里只做如何將JBPM和WEB組合起來

    1.1使用環(huán)境 

    JDK1.5
    Tomcat5.5.9
    JBPM3.1.4
    數(shù)據(jù)庫mssql2000

    1.2創(chuàng)建一個(gè)WEB項(xiàng)目,不說了用過eclipse的人都知道如何創(chuàng)建


    1.3創(chuàng)建一個(gè)流程定義,就是在web項(xiàng)目中添加Process Definition

    1.4流程定義代碼
    注明:下面我將流程寫如流程定義文件當(dāng)中要是想使用請(qǐng)刪除里面的流程說明部分
    <?xml version="1.0" encoding="UTF-8"?>

    開始結(jié)點(diǎn)
    <process-definition
      xmlns=""  name="shenpi">
    流程開始結(jié)點(diǎn)
       <start-state name="start">
          <task name="startrequest">
            <controller>
          設(shè)置請(qǐng)假人的程變量
                <variable name="name"></variable>
          設(shè)置請(qǐng)假天數(shù)的流程變量
                <variable name="countday"></variable>
          設(shè)置審批請(qǐng)假角色的流程變量
                <variable name="roles"></variable>
             </controller>
          </task>
          <event type="node-leave">
          當(dāng)離開開始結(jié)點(diǎn)后處理的類
             <action name="startleave" class="com.jbpm.handler.StartLeave"></action>
          </event>
          <transition name="" to="shenpi">
         </transition>  
       </start-state>

    審批結(jié)點(diǎn)
       <task-node name="shenpi">
    審批任務(wù)
          <task name="whoshenpi">
           <controller>
    設(shè)置是否通過的流程變量
                <variable name="shifoutongguo"></variable>
    保存該誰審批的流程變量
               <variable name="who"></variable>
             </controller>
          </task>
    用來處理進(jìn)入審批結(jié)點(diǎn)的類
          <event type="node-enter">
             <action name="com.jbpm.handler.ShenpiEnter"></action>
          </event>
    用來處理離開審批結(jié)點(diǎn)的類
          <event type="node-leave">
             <action name="com.jbpm.handler.ShenpiLeave"></action>
          </event>

          <transition name="" to="decision1"></transition>
       </task-node>

    設(shè)置下一個(gè)人審批的結(jié)點(diǎn)
       <node name="whocheck">
    設(shè)置下一個(gè)審批人的類
        <action class="com.jbpm.handler.WhoCheckAction">
        </action>
    設(shè)置離開此結(jié)點(diǎn)的類
          <event type="node-leave">
             <action name="whocheckleave" class="com.jbpm.handler.WhoCheckLeave"></action>
          </event>
    設(shè)置進(jìn)入此結(jié)點(diǎn)的類
          <event type="node-enter">
             <action name="whocheckenter" class="com.jbpm.handler.WhoCheckEnter"></action>
          </event>
          <transition name="" to="decision2"></transition>
       </node>

    判斷是否審批人是否通過的結(jié)點(diǎn)
       <decision name="decision1">
    判斷此業(yè)務(wù)流程的類
         <handler class="com.jbpm.decision.IsGoDecisionHandler"/>
          <transition name="end" to="end">
    判斷流程是否通過的類
          <action class="com.jbpm.handler.ProcessEnd"></action>
          </transition>
          <transition name="go" to="whocheck"></transition>
       </decision>

    判斷是否審批人是否是最后一個(gè)人的結(jié)點(diǎn)
       <decision name="decision2">
    判斷是否通過的類
       <handler class="com.jbpm.decision.IsGoDecisionHandler"/>
          <transition name="end" to="end">
    判斷是夠是最后一個(gè)人的類
          <action class="com.jbpm.handler.ProcessEnd"></action>
          </transition>
          <transition name="go" to="shenpi"></transition>
       </decision>

       流程結(jié)束結(jié)點(diǎn)
       <end-state name="end">
          判斷是否通過的變量
            <controller>
                <variable name="shifoutongguo" access="read"></variable>
             </controller>     
       </end-state>
    </process-definition>



    1.5流程說明
    本流程定義了一個(gè)請(qǐng)假流程其中員工提出申請(qǐng)開始一個(gè)請(qǐng)假流程,然后主管審批,此例子我設(shè)置了3個(gè)chief來處理,只要里面一個(gè)不通過流程就結(jié)束了.

    (太晚了明天繼續(xù))2007.7.12
    posted on 2007-07-12 23:10 大博的BLOG 閱讀(6743) 評(píng)論(5)  編輯  收藏 所屬分類: jbpm

    FeedBack:
    # re: 一個(gè)完整的基于JBPM3.1.4工作流引擎的WEB請(qǐng)假流程例子------第一部分環(huán)境準(zhǔn)備與工作流定義
    2008-01-05 18:49 | fengyuzd
    感謝博主能發(fā)表這么好的帖子,對(duì)我等新人確實(shí)有很重要的意義,十分感謝  回復(fù)  更多評(píng)論
      
    # re: 一個(gè)完整的基于JBPM3.1.4工作流引擎的WEB請(qǐng)假流程例子------第一部分環(huán)境準(zhǔn)備與工作流定義[未登錄]
    2008-03-28 16:35 | wind
    樓主,你有沒有繼續(xù)?怎么沒有下文,我好需要啊!請(qǐng)樓主繼續(xù)  回復(fù)  更多評(píng)論
      
    # re: 一個(gè)完整的基于JBPM3.1.4工作流引擎的WEB請(qǐng)假流程例子------第一部分環(huán)境準(zhǔn)備與工作流定義
    2008-10-27 16:27 | 上柳橙
    虎頭蛇尾嘛
    期待繼續(xù)  回復(fù)  更多評(píng)論
      
    # re: 一個(gè)完整的基于JBPM3.1.4工作流引擎的WEB請(qǐng)假流程例子------第一部分環(huán)境準(zhǔn)備與工作流定義[未登錄]
    2009-12-03 15:41 | cc
    # re: 一個(gè)完整的基于JBPM3.1.4工作流引擎的WEB請(qǐng)假流程例子------第一部分環(huán)境準(zhǔn)備與工作流定義
    2012-02-21 13:53 | 扯淡
    就這樣太監(jiān)了?????  回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 亚洲一级毛片免观看| 亚洲三级在线播放| 99视频在线精品免费| 亚洲成在人线中文字幕| 日本高清免费不卡视频| 中文字幕av免费专区| 亚洲视频免费观看| 四虎在线免费播放| 成人av片无码免费天天看| 亚洲高清视频免费| 亚洲国产精品激情在线观看| 国产精品内射视频免费| 亚洲av乱码一区二区三区| 日韩午夜免费视频| 99精品全国免费观看视频..| 久久久久亚洲av无码专区喷水 | 免费a级毛片永久免费| 免费看一级一级人妻片| 亚洲高清在线视频| 无码中文字幕av免费放| 四虎国产精品成人免费久久| 亚洲国产精品无码av| 久久久久国色AV免费观看性色| 国产亚洲精品美女| 久久久久久亚洲av成人无码国产| 色婷婷7777免费视频在线观看| 免费国产黄网站在线观看动图 | 国产一区二区三区在线免费| 中国性猛交xxxxx免费看| 国产成人亚洲合集青青草原精品 | 国产精品白浆在线观看免费| 亚洲天堂2017无码中文| 亚洲成AⅤ人影院在线观看| 91av视频免费在线观看| 欧美色欧美亚洲另类二区| 亚洲成色在线影院| 好大好硬好爽免费视频| 久久久久免费看成人影片| 亚洲av日韩av永久无码电影 | 亚洲精品白浆高清久久久久久| 91成人免费观看网站|