jBPM4 4 TaskService任務服務

2021-08-30 20:04:49 字數 1440 閱讀 7242

taskservice的主要目的是提供對任務列表的訪問途徑。 例子**會展示出如何為id為johndoe的使用者獲得任務列表

listtasklist = taskservice.findpersonaltasks("johndoe");
一般來說,任務會對應乙個表單,然後顯示在一些使用者介面中。 表單需要可以讀寫與任務相關的資料。

// read task variables

setvariablenames = taskservice.getvariablenames(taskid);

variables = taskservice.getvariables(taskid, variablenames);

// write task variables

variables = new hashmap();

variables.put("category", "small");

variables.put("lires", 923874893);

taskservice.setvariables(taskid, variables);

taskserice也用來完成任務。

taskservice.completetask(taskid);

taskservice.completetask(taskid, variables);

taskservice.completetask(taskid, outcome);

taskservice.completetask(taskid, outcome, variables);

這些api允許提供乙個變數map,它在任務完成之前作為流程變數新增到流程裡。 它也可能提供乙個「外出outcome」,這會用來決定哪個外出轉移會被選中。 邏輯如下所示:

如果乙個任務擁有乙個沒用名稱的外向轉移:

如果乙個任務擁有乙個有名字的外向轉移:

如果乙個任務擁有多個外向轉移,其中乙個轉移沒有名稱,其他轉移都有名稱:

如果乙個任務擁有多個外向轉移,每個轉移都擁有唯一的名字:

任務可以擁有一批候選人。候選人可以是使用者也可以是使用者組。 使用者可以接收自己是候選人的任務。接收任務的意思是使用者會被設定為被分配給任務的人。 在那之後,其他使用者就不能接收這個任務了。

人們不應該在任務做工作(什麼意思?), 除非他們被分配到這個任務上。 使用者介面應該顯示表單,並允許使用者完成任務, 如果他們被分配到這個任務上。對於有了候選人,但是還沒有分配的任務, 唯一應該暴露的操作就是「接收任務」

jBPM4 4 ProcessEngine流程引擎

在jbpm內部通過各種服務相互作用。服務介面可以從processengine中獲得,它是從configuration構建的。可以有2種方式從configuration中獲得processengine 1.通過classpath根目錄下 預設的配置檔案jbpm.cfg.xml建立乙個processse...

Jbpm 4 4學習筆記 二

jbpm是面向流程程式設計的框架。1.key是檔名稱,類似於startprocessinstancebykey這樣的方法就是按照檔名查詢 2.state,狀態節點為典型的等待狀態,它不會向任務列表新增任務。task節點本質上還是state的一種,只是多了個參與者。當乙個流程執行到任務節點 task ...

jBPM 4 4 與Spring整合配置

jbpm 4.4與spring整合配置比較容易,這裡我使用的是spring 2.5.6,資料庫連線池使用c3p0,將相關的兩個jar檔案加入到classpath中。jbpm 4.4與spring整合的配置過程說明如下。配置 1 修改jbpm.cfg.xml配置檔案 將jbpm.cfg.xml檔案中一...