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

          常用鏈接

          我參與的團隊

          隨筆分類(103)

          搜索

          •  

          積分與排名

          • 積分 - 414613
          • 排名 - 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
          主站蜘蛛池模板: 灌南县| 板桥市| 甘德县| 包头市| 昌邑市| 景宁| 麻江县| 康保县| 常州市| 罗定市| 延长县| 城固县| 玉树县| 平山县| 舟山市| 盖州市| 永丰县| 龙海市| 莲花县| 贡山| 玉溪市| 余干县| 南城县| 卓尼县| 资兴市| 阳城县| 从江县| 无极县| 云浮市| 呼图壁县| 江津市| 吉林省| 柘荣县| 玉溪市| 互助| 敦化市| 绩溪县| 古田县| 繁昌县| 将乐县| 海盐县|