activiti6.0流程实例,任务,执行对象控制流程的执行的定义以及区别

介绍activiti中流程实例、任务、执行对象之间的区别联系,并且介绍这三者在流程运转过程中数据库中所对应表中数据的变化。将以请假流程为例进行说明

一、流程实例,任务,执行对象相关表结构

  • act_ru_execution 正在执行的执行对象表

  • act_hi_procinst 流程实例的历史表

  • act_ru_task 正在执行的任务表,(只有userTask任务节点,才会在此表中产生数据)

  • act_hi_taskinst 历史任务表,(只有userTask任务节点,才会在此表中产生数据)

  • act_hi_actinst 所有活动节点的历史表

二、请假流程实例进行说明

2.1、BPMN流程图

请假流程图

2.2 BPMN代码

  <process id="leave" name="leave process" isExecutable="true">
    <startEvent id="startevent1" name="Start"></startEvent>
    <userTask id="usertask1" name="组长审批" activiti:assignee="组长"></userTask>
    <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="usertask1"></sequenceFlow>
    <userTask id="usertask2" name="主管审批" activiti:assignee="主管"></userTask>
    <sequenceFlow id="flow2" sourceRef="usertask1" targetRef="usertask2"></sequenceFlow>
    <endEvent id="endevent1" name="End"></endEvent>
    <sequenceFlow id="flow3" sourceRef="usertask2" targetRef="endevent1"></sequenceFlow>
  </process>

2.3 运行流程进行说明

1 启动流程
RuntimeService runtimeService = processEngine.getRuntimeService();
runtimeService.startProcessInstanceByKey("leave");

启动流程之后 act_ru_execution、act_hi_procinst表中会各增加一条记录


act_hi_procinst
act_ru_execution

从act_ru_execution中的ACT_ID_字段可以看出,当前执行节点在userTask1。


启动流程的同时,流程流向第一个用户任务节点,在act_ru_task,act_hi_taskinst各产生一条数据


act_ru_task
act_hi_taskinst

从act_hi_taskinst中END_TIME_字段可以看出,此时userTask1节点正在执行。


2 组长审批任务
        String taskId ="2505";
        taskService.complete(taskId);

当组长审批完userTask1任务之后,当前流程流转到领导审批节点:

  • act_ru_task表数据变化
    已经完成的userTask1任务节点数据被清除,新增一条userTask2节点数据


    act_ru_task
  • act_hi_taskinst表数据变化
    已经完成的userTask1节点数据依然存在,其中END_TIME_字段为此任务节点结束时间、并且新增一条userTask2任务记录,其END_TIME_字段为NULL,表示此任务节点还在运行


    act_hi_taskinst.png
  • act_ru_execution表数据变化
    由于当前流程进行了运转,所以当前执行对象会更新当前流程执行了什么节点之上


    act_ru_execution.png
3 领导审批任务
String taskId ="5002";
taskService.complete(taskId);

在此流程图中当领导进行审批之后,相当于走完了流程,也就意味着流程结束

  • act_ru_task表变化
    同userTask1节点执行,当此任务节点执行结束之后就会从此表中删除这条节点记录

  • act_hi_taskinst表数据变化
    更新此任务节点记录,更新END_TIME_字段值为任务节点结束时间

4流程结束
  • act_ru_execution表数据变化
    由于领导审批结束后,流程执行结束,也就是执行对象执行完毕,该条执行对象对应数据会被清除。

  • act_hi_procinst表数据变化
    流程执行结束,更新流程实例结束时间


    act_hi_procinst.png

三、总结

  • ProcessInstance流程实例
    • 特指流程从开始到结束的那个最大的执行分支,一个执行的流程中,流程实例只有1个
    • 代表流程定义的执行实例。一个流程实例包括了所有的运行节点
    • 流程实例通常也可以叫做执行实例根节点

注意
(1)如果是单例流程,执行对象ID就是流程实例ID
(2)如果一个流程有分支和聚合,那么执行对象ID和流程实例ID就不相同
(3)一个流程中,流程实例只有1个,执行对象可以存在多个。

  • Execution 执行对象
    • 启动流程实例的时候会首先创建流程实例,然后创建执行实例
    • 流程运转的过程中永远执行的是自己对应的执行实例
    • 当所有的执行实例按照规则执行完毕之后,则实例随之结束
    • 流程按流程定义的规则执行一次的过程,就可以表示执行对象Execution
    • 一个流程中,执行对象可以存在多个,但是流程实例只能是一个

对应表
act_ru_execution: 正在执行的信息
act_hi_procinst:已经执行完的历史流程实例信息
act_hi_actinst:存放历史所有完成的活动

  • Task任务 --- 执行到某任务环节时生成的任务信息。
    对应的表:
    act_ru_task:正在执行的任务信息
    act_hi_taskinst:已经执行完的历史任务信息
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,045评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,114评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,120评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,902评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,828评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,132评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,590评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,258评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,408评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,335评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,385评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,068评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,660评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,747评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,967评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,406评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,970评论 2 341