TaskService的常用方法:
TaskService是一個接口,他的一個常用的實作類是TaskServiceImpl。它的常用的方法有:
(1): String saveTask(Task task);//Saves the given task to persistent storage,return the taskId
(2): Task getTask(String taskId);//根據taskId查找任務
(3): void assignTask(String taskId, String userId);//assigns this task to the given assignee
(4): void takeTask(String taskId, String userId);//當執行了改方法後,JBPM将會阻止組當中的其他成員再使用改任務,而反過來,如果想把據為己有的任務再放回組當中,則可以如下調用taskService.assignTask(taskId, null);
(5): void completeTask(String taskId);//完成一個任務
(6): void completeTask(String taskId, Map<String, ?> variables);//完成一個任務,并設定相應的流程變量
(7): void completeTask(String taskId, String outcome);//完成任務,并指定一個向外的流向
(8): void deleteTask(String taskId);//删除一個任務,但保留曆史資訊
(9): void deleteTaskCascade(String taskId);//删除一個任務,包括曆史資訊
(10): List<Participation> getTaskParticipations(String taskId);//傳回一個任務的參與者集合
(11):TaskQuery createTaskQuery();//建立一個查詢的任務
(12):List<Task> findPersonalTasks(String userId);
(13):List<Task> findGroupTasks(String userId);
(14):void setVariables(String taskId, Map<String, ?> variables);//設定任務變量,好像和Execution的變量是一樣的
(15):Object getVariable(String taskId, String variableName);//獲得流程變量
(16):Set<String> getVariableNames(String taskId);//的到所有的變量集合
(17):Set<String> getOutcomes(String taskId);
TaskQuery的常用方法;
TaskQuery是一個接口,包含了任務查詢的常用方法:
(1):TaskQuery assignee(String userId);//通過指定的人查找任務
(2):TaskQuery unassigned();//傳回未被指派的任務,即JBPM4_TASK表中ASSIGNEE_字段null
(3):TaskQuery candidate(String userId);
(4):TaskQuery executionId(String executionId);//通過指定的流程執行個體Id查找所有任務
(5):TaskQuery processInstanceId(String processInstanceId);
(6):TaskQuery processDefinitionId(String processDefinitionId);//查找一個流程定義底下的所有任務
(7):TaskQuery activityName(String activityName);//根據指定的流程節點查找該處的所有任務
(8):TaskQuery page(int firstResult, int maxResults);//分頁查找任務
(9):TaskQuery orderAsc(String property);//排序方法,property是TaskQuery的成員
(10):TaskQuery orderDesc(String property);
(11):long count();//得到記錄總數
(12):List<Task> list();//傳回任務集合
(13):Task uniqueResult();
ExecutionService的常用方法:
ExecutionService是一個接口,包含了流程執行個體方面的大量操作
(1):ProcessInstance startProcessInstanceById(String processDefinitionId);//通過流程定義Id開啟一個新的流程執行個體
(2):ProcessInstance startProcessInstanceById(String processDefinitionId, Map<String, ?> variables);//開啟一個流程執行個體,Map集合是設定流程變量之用,和taskService.setVariables(String executionId, Map<String, ?> variables)的效果一緻。ExecutionService中還包含很多開啟流程的方法,但常用的基本就這兩個
(3):Execution findExecutionById(String executionId);
(4):ProcessInstance findProcessInstanceById(String processInstanceId);
(5):ProcessInstanceQuery createProcessInstanceQuery();//建立一個流程執行個體的查詢方法
(6):void setVariable(String executionId, String name, Object value);//設定一個全局的變量,即流程變量
(7):void setVariables(String executionId, Map<String, ?> variables);
(8):Object getVariable(String executionId, String variableName);//根據流程Id得到一個流程變量
(9):void endProcessInstance(String processInstanceId, String state);
(10):void deleteProcessInstance(String processInstanceId);//删除一個流程執行個體,但保留曆史
(11):void deleteProcessInstanceCascade(String processInstanceId);//删除一個流程執行個體,同時删除曆史資訊
ProcessInstanceQuery的常用方法
ProcessInstanceQuery是一個接口,包含了流程執行個體的查詢操作
(1):ProcessInstanceQuery processDefinitionId(String processDefinitionId);//根據流程定義的ID查找所有的執行個體
(2):ProcessInstanceQuery processInstanceId(String processInstanceId);//根據流程執行個體的ID查找,傳回接口肯定隻有一個
(3):ProcessInstanceQuery orderAsc(String property);
(4):ProcessInstanceQuery orderDesc(String property);
(5):ProcessInstanceQuery page(int firstResult, int maxResults);//分頁查詢
(6):List<ProcessInstance> list();//傳回記錄的集合
(7):ProcessInstance uniqueResult();//傳回唯一記錄
(8):long count();//傳回總記錄