隨筆 - 170  文章 - 536  trackbacks - 0
          <2008年9月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          常用鏈接

          我參與的團隊

          隨筆分類(103)

          搜索

          •  

          積分與排名

          • 積分 - 414593
          • 排名 - 135

          最新評論

          閱讀排行榜

            jBPM 是一個非常優秀的開源工作流引擎,雖然他不是一個一站式的工作流平臺,不過它已經為我們提供了比較豐富的底層操作,為了滿足特定的項目需求,我們一般需要對其進行二次開發,才能適用于具體的業務需求。

            其中一個主要的擴展點是針對 TaskNode 進行的用戶的分配。TaskNode 是 jBPM 中一個非常重要的概念,一個任務節點可以包含若干個任務,不同的任務可以由不同的人來完成,任務實例被分配給 actorId 來完成,其中指定到人的分配工作就是 Assignment 要處理的,這也是我們需要定制的功能,為了實現用戶的分配,我們需要實現 AssignmentHandler 接口,接口原型如下。

          public interface AssignmentHandler extends Serializable {    
              void assign(Assignable assignable, ExecutionContext executionContext) throws Exception;
          }

            通常用代碼實現的話,我們可以讓一個類實現這個接口,并在 swimlane 或者 tasknode 中的 assignment 指定該類。但是,這樣的靈活性是顯然不夠的,在系統的使用過程中,分配策略會不斷的進行調整,因此我們需要更為靈活的解決方案,jBPM 本身可以使用基于 Bean Shell 的腳本來寫分配策略,但是 Bean Shell 不是那么強大,我們需要更為強大的解決方案,因此,我們選用了已經被 JBoss 收為旗下的 JBoss Drools 4.0 規則引擎 (在 3.0 的時候曾經改名為 JBoss Rules,4.0 又改回來了)

            完整版本請查看:http://www.steadyxp.com/archives/120.html

          posted on 2008-09-05 15:29 steady 閱讀(2315) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 九龙县| 凤阳县| 清流县| 吉林省| 京山县| 镶黄旗| 湘潭市| 荣成市| 康马县| 黄浦区| 江油市| 志丹县| 昌黎县| 崇文区| 绩溪县| 石城县| 九龙县| 四川省| 马尔康县| 彝良县| 八宿县| 项城市| 嫩江县| 永嘉县| 新宾| 汝城县| 文登市| 河西区| 沙洋县| 桓仁| 焦作市| 贺兰县| 南江县| 南和县| 耒阳市| 萨迦县| 新竹市| 依安县| 新田县| 黄梅县| 麻江县|