- 首页 > 生活 > >
ACT_RU_IDENTITYLINK
任务参与者,记录当前参与任务的用户或组 。
ACT_HI_PROCINST
流程实例历史表,流程实例启动,会在此表插入一条记录,流程实例运行完成记录也不会删除 。
ACT_HI_TASKINST
任务历史表,记录所有任务,开始一个任务,不仅在act_ru_task表插入记录,也会在历史任务表插入一条记录,任务历史表的主键就是任务id,任务完成此表记录不删除 。
ACT_HI_ACTINST
活动历史表,记录所有活动,活动包括任务,所以此表中不仅记录了任务,还记录了流程执行过程的其它活动,比如开始事件、结束事件 。
挂起流程实例/*** 挂起指定流程Id的流程实例*/void suspendProcessInstanceById(String processInstanceId);
激活流程实例
/*** 激活指定流程Id的流程实例*/void activateProcessInstanceById(String processInstanceId);
删除流程实例
/** * 删除实例 * @param processInstanceId 流程实例Id * @param deleteReason 删除原因 */void deleteProcessInstance(String processInstanceId, String deleteReason);
获取传入参数
/** * 给定执行作用域(包括父作用域)中可见的所有变量 。* @param executionId 启动的实例的ID */Map<String, Object> getVariables(String executionId);
任务管理
任务管理的接口是通过TaskService
来实现的 。而最新的是使用TaskRuntime
接口来实现的,当然TaskRuntime
底层也是通过TaskService
来实现的 。
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();TaskService taskService = processEngine.getTaskService();
获取我的任务
// 获取任务查询器TaskQuery taskQuery = taskService.createTaskQuery();// 查询器获取列表List<Task> tasks = taskQuery.taskAssignee("you ID").list();
拾取任务
有的时候,某个任务节点可能没有直接指定责任人,但是指定了候选人列表或者候选组 。这个时候你还是可以将这个任务查询出来的,但是需要主动拾取任务 。
TaskQuery taskQuery = taskService.createTaskQuery();Task task = taskQuery.processInstanceBusinessKey("businessKey").singleResult();// 拾取任务taskService.claim(task.getId(),"userId");
解开任务
如果拾取任务错了或者想将任务转给别人,可以调用解开任务的接口,其实也就是将责任人置空
taskService.unclaim(String taskId);
完成任务
/*** 在任务成功执行时调用,并且所需的任务参数由最终用户给定 。* @param taskId 任务ID* @param variables 参数对象*/void complete(String taskId, Map<String, Object> variables);
Activiti7主要对象与接口对象
- Deployment:流程部署对象,部署一个流程时创建
- ProcessDefinitions;流程定义,部署成功后自动创建
- ProcessInstances:流程实例,启动流程时创建
- Task:任务,在Activiti中Task仅指有角色参与的任务,即定义中的UserTask
- Execution:执行计划,流程实例和流程执行中的所以节点都是Execution
接口
- ProcessEngine:流程引擎的抽象,通过它我们可以获得我们需要的一切服务
- RepositoryServicez:Acitviti中每一个不同版本的业务流程的定义都需要使用一些定义文件,部署文件和支持数据(例如BPMN2.0 XML文件,表单定义文件,流程定义图像文件等),这些文件都存储在Activiti内建的Repository中 。RepositoryService提供了对repository的存取服务
- RuntimeService:在Activi中,每当一个流程定义被启动一次之后,都会生成一个相应的流程对象实例 。RuntimeService提供了启动流程,查询流程实例,设置获取流程实例变量等功能 。此外它还提供了对流程部署,流程定义和流程实例的存取服务
经验总结扩展阅读
-
-
8月底,痛定思痛,爱恨清空,展望未来,高傲离去,真爱就在眼前
-
-
-
-
总有人在问 太多婚后的真爱,不过只是一时的激情,根本就当不得真
-
-
热水器不出热水怎么回事,电热水器不出热水怎么回事?
-
喝不完的奶粉可以放到下次喝吗,喝剩的奶粉可以下顿喝吗
-
怎么开心怎么过 致35岁的女人:往后你要怎么开心怎么过
-
2022年农历腊月初九搬新家吉日 2022年12月31日搬新家好不好
-
相思梧叶影视情感说|《北辙南辕》:中年夫妻应该如何经营婚姻?不妨学学杜世均和司梦
-
因为走丢了的哈士奇被送进了派出所,结果把派出所拆了,不愧为拆家王
-
-
-
2022年农历九月十六修坟吉日 2022年10月11日适合修坟吗
-
葡萄干配一物,每天喝一杯,不贫血了,眼睛亮了,女人常喝不显老
-
-
-
涂抹 “一款三用”的平价口红,不挑肤色巨显白,素颜涂也能彰显高级感