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

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

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

    BlogJava 聯系 聚合 管理  

    Blog Stats

    隨筆檔案

    文章檔案


    gyl868

    2009年8月8日 #

    一 : 重要概念

    1 : process definition(流程定義):

             工作流的流程的完整定義,包括節點和節點之間的走向等關鍵信息。通常以xml格式提供。一個具體的系統往往是由許多個流程組成的。

    2 : process instance(流程實例):

             每個process defination生成的業務層的實例。當process instance創建以后,代表流程的執行路徑,并被定義到開始節點。


    3  : token(令牌):

             表示了一個執行的路徑,它是運行時產生的。當實例建立以后,令牌也就產生了。

    4 : node:

             表示流程中的一個節點。

    5 : transition:

             關聯兩個節點,用于表示節點的走向

    6 : signal:

             讓一個token執行下一步。process instance也有signal,當用process instance的signal時,其實就是運行process instance根令牌(root token)的signal.   當token進入到一個node時,node會被執行,并產生一些事件,比如進入、離開節點等,這也是執行業務邏輯的地方。事件由action來表示。
     

    7 : 事件Event 

    Event反映的是流程執行中的各個時刻。在流程執行中JBPM引擎會在計算下一個狀態的時候觸發各種事件。一個事件通常和流程定義中的一個元素相關聯,比如流程定義本身,節點或者轉移。大部分的元素能夠觸發不同類型的事件,比如一個節點可以觸發節點進入事件,節點離開事件。事件其實是和動作連接在一起的。每個事件維護一個動作列表。當JBPM引擎觸發一個事件的時候,該事件維護的動作列表中的動作將被執行。

    事件類型

    在JBPM中事件類型是寫死在事件類中的,共有16種:

    EVENTTYPE_TRANSITION = "transition"; // 轉移
    EVENTTYPE_BEFORE_SIGNAL = "before-signal"; // 發信號前
    EVENTTYPE_AFTER_SIGNAL = "after-signal"; // 發信號后
    EVENTTYPE_PROCESS_START = "process-start"; // 處理開始狀態
    EVENTTYPE_PROCESS_END = "process-end"; // 處理結束狀態
    EVENTTYPE_NODE_ENTER = "node-enter"; // 進入節點
    EVENTTYPE_NODE_LEAVE = "node-leave"; // 離開節點
    EVENTTYPE_SUPERSTATE_ENTER = "superstate-enter"; // 進入超級狀態
    EVENTTYPE_SUPERSTATE_LEAVE = "superstate-leave"; // 離開超級狀態
    EVENTTYPE_SUBPROCESS_CREATED = "subprocess-created"; // 子流程創建
    EVENTTYPE_SUBPROCESS_END = "subprocess-end"; // 子流程結束
    EVENTTYPE_TASK_CREATE = "task-create"; // 任務創建
    EVENTTYPE_TASK_ASSIGN = "task-assign"; // 任務分派
    EVENTTYPE_TASK_START = "task-start"; // 任務啟動
    EVENTTYPE_TASK_END = "task-end"; // 任務結束
    EVENTTYPE_TIMER = "timer"; // 定時器



    二 : 常用 API


    ProcessInstance是ProcessDefinition的一個執行實例,想象一下對于訂票流程,每個客戶的訂票動作都會根據訂票流程定義而創建一個流程實例,也就是執行實例ProcessInstance.當一個ProcessInstance被創建后,負責執行主路徑的token也被創建,這個token就是根token(root token),根token此時位于流程定義的開始狀態start state.

    創建執行實例很簡單有2種方式 :

    1 : 通過 ProcessDefinition 類的 createProcessInstance() 方法

    //得到 processDefinition 
    ProcessDefinition processDefinition = ProcessDefinition.parseXmlResource("processdefinition.xml");
    //通過 processDefinition 創建 出 processInstance
    ProcessInstance  processInstance = processDefinition.createProcessInstance();

    2 :通過 ProcessInstance 類的  構造函數

    //得到 jbpmContext
    JbpmContext jbpmContext = JbpmConfiguration.getInstance().createJbpmContext();

    //得到 processDefinition
    ProcessDefinition processDefinition = jbpmContext.getGraphSession().findLatestProcessDefinition("baoxiao");

    //得到 processInstance
     ProcessInstance processInstance = new ProcessInstance(processDefinition);
    posted @ 2009-08-08 22:52 gyl868 閱讀(116) | 評論 (0)編輯 收藏

    僅列出標題  
    主站蜘蛛池模板: 日本不卡在线观看免费v| 99国产精品永久免费视频| av无码国产在线看免费网站| 黄色免费网址大全| 亚洲精品无码成人片在线观看| 久久亚洲欧美国产精品| 亚洲无码在线播放| 少妇太爽了在线观看免费视频| 久久九九亚洲精品| 无码中文字幕av免费放| 亚洲国产成人手机在线观看| 亚洲日韩中文在线精品第一| A级毛片高清免费视频在线播放| 亚洲五月六月丁香激情| 免费毛片在线播放| 久久青草精品38国产免费| 亚洲成a∨人片在无码2023| 亚洲AV无码一区二区三区牲色 | 国内精品久久久久影院免费| 亚洲av成人综合网| 亚洲日韩精品一区二区三区| 亚洲精品无码久久久影院相关影片| 免费毛片在线视频| 亚洲精品无码久久一线| 久久青青草原亚洲AV无码麻豆| 四虎影视在线永久免费看黄| 黄页网站在线看免费| 成人性生交大片免费看中文| 嫩草在线视频www免费观看 | 亚洲男女性高爱潮网站| 亚洲乳大丰满中文字幕| 亚洲欧洲另类春色校园小说| 亚洲成亚洲乱码一二三四区软件| 亚洲女人18毛片水真多| 亚洲av成人中文无码专区| 国内精品一级毛片免费看| 91免费国产在线观看| 亚洲乱亚洲乱妇无码麻豆| 亚洲国产精品成人综合色在线| 毛片在线全部免费观看| 亚洲综合最新无码专区|