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

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

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

    posts - 193,  comments - 520,  trackbacks - 0
    JBPM時間服務的使用主要體現在對timer節點的使用。timer節點有兩種使用方式:一種是掛接到node節點下,在進入node節點時觸發,在離開node節點時終止;另外一種是掛接到task節點下,在任務創建時觸發,默認在任務完成后終止。下面舉例說明:
      一、掛接到node節點  
      <state name='catch crooks'>
          
    <timer name='reminder'
             
    duedate='3 business hours'
             repeat
    ='10 business minutes'
             transition
    ='time-out-transition' >
            
    <action class='the-remainder-action-class-name' />
            
    <transition name='time-out-transition' to='next' />
          
    </timer>
        
    </state>

      解釋:timer將會在流程令牌進入節點catch crooks時觸發,延遲3 business hours開始執行動作,每10 business minutes重復執行一次,直到令牌離開catch crooks節點。
      對time節點來說 name、repeat、transition都是可選屬性。對一個流程定義來說,每一個time節點的name必須唯一,如果你不定義name屬性,引擎會默認把node節點的name賦給timer。在上面這個例子里,如果你不定義timer節點的name,則它的name就會是catch crooks。說說repeat屬性,如果你不定義它,則timer就會只執行一次動作不會重復執行。transition屬性,如果定義了這個屬性,流程令牌會在timer執行動作完畢后,順著這個路徑離開node節點。所以在上面這個例子里,盡管定義了repeat屬性,action還是會只執行一次。
      action節點,可選,即timer節點在時間到時執行的動作,可以是任意action類型,包括script。注意與時間有關的兩種action類型:create-timer 和 cancel-timer。其實一個timer節點在被引擎解釋時就是被分解為create-timer 和 cancel-timer兩個action,create-timer掛接到node-enter事件中,cancel-timer掛接到node-leave事件中。action節點最多只可以掛一個。
      說說整個過程:
      1、令牌進入節點catch crooks
      2、timer被觸發(實際這時是在執行create-timer動作)
      3、3 business hours后 timer 事件觸發
      4、定義的action被執行
      5、令牌順著time-out-transition路徑離開catch crooks節點
      6、cancel-timer動作被執行即timer終止(沒有給repeat的機會)
      二、掛接到task節點
      <task-node name="Evaluate web order">
        
    <task swimlane="salesman">
          
    <timer duedate="20 seconds" repeat="10 seconds" cancel-event='task-start'>
            
    <action class="org.jbpm.websale.RemindActor">
              
    <swimlaneName>salesman</swimlaneName>
            
    </action>
          
    </timer>
        
    </task>
        
    <transition name="OK" to="salefork" />
        
    <transition name="More info needed" to="Fix web order data" />
      
    </task-node>

      與掛接到node 的區別是:這里可以定義一個屬性cancel-event,可以指定那些事件可以終止timer的執行,默認是task-end。可以指定多個事件,以','分割,任一事件觸發timer即終止。
      可以看到jbpm對任務實例和節點執行時的時間服務還是支持的很好,可以做出很多的擴展,但是它沒有對整個流程實例本身提供更多的服務,比如說定時的流程啟動和整個流程的時間控制等等。以及對精確時間點的支持還不夠。


    http://www.tkk7.com/ronghao 榮浩原創,轉載請注明出處:)
    posted on 2007-06-21 12:00 ronghao 閱讀(1728) 評論(2)  編輯  收藏 所屬分類: 工作流jbpm3

    FeedBack:
    # re: JBPM的時間服務
    2007-06-21 17:41 | lang
    能不能給點工作流的入門資料,最近想學習以下。  回復  更多評論
      
    # re: JBPM的時間服務
    2007-06-21 18:25 | ronghao
    入門資料,可能沒有,你可以google下wfms規范。另外,hongsoft和銀狐999的博客很不錯。  回復  更多評論
      
    <2007年6月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    關注工作流和企業業務流程改進。現就職于ThoughtWorks。新浪微博:http://weibo.com/ronghao100

    常用鏈接

    留言簿(38)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    常去的網站

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 黄色成人网站免费无码av| 99久久综合精品免费| 日韩在线看片免费人成视频播放| 亚洲一级片在线播放| 国产精品入口麻豆免费观看| 亚洲黄色网站视频| 日韩精品免费一级视频| 亚洲国产美女精品久久| 99精品国产免费久久久久久下载| 亚洲一区中文字幕在线电影网| 国产免费看JIZZ视频| 亚洲综合av一区二区三区| 热久久精品免费视频| 美女尿口扒开图片免费| 国产精品亚洲综合一区| 大地资源网高清在线观看免费| 亚洲AV永久无码精品一百度影院| 99re在线精品视频免费| 亚洲人成电影网站久久| 免费人妻av无码专区| 任你躁在线精品免费| 亚洲国产精品成人精品软件| 手机在线毛片免费播放| 成人精品综合免费视频| 亚洲毛片αv无线播放一区| 久久精品无码专区免费青青| 亚洲sss综合天堂久久久| 啊v在线免费观看| 你懂的免费在线观看网站| 亚洲资源最新版在线观看| 午夜亚洲福利在线老司机| 成人精品一区二区三区不卡免费看| 亚洲视频在线免费看| 国产一级理论免费版| 久久久久国产精品免费看| 亚洲欧洲精品成人久久曰| 亚洲啪啪AV无码片| AV片在线观看免费| 99精品视频在线观看免费| 亚洲综合激情五月色一区| 亚洲精品中文字幕乱码三区 |