相关文章

更多

最近更新

更多

activiti中流程实例与执行对象的区别

2019-03-28 21:17|来源: 网路

流程实例(ProcessInstance)代表流程定义的执行实例。如要发现一个请假流程实例的申请。一个流程实例包括了所有的运行节点。我们可以利用这个对象来了解当前流程实例的进度等信息。流程实例就表示一个流程从开始到结束的最大的流程分支,即一个流程中流程实例只有一个。


执行对象(Execution):Activiti用这个对象去描述流程执行的每一个节点。在没有并发的情况下,Execution就是ProcessInstance流程按照流程定义的规则执行一次的过程,就可以表示执行对象Execution



对于在单线流程,ProcessInstanceExecution是一致的,如上图的贷款流程



对于可以并发执行(多条流程)的,就会存在多个执行对象。如上图wire money(汇钱)archive(存档)是并发执行的,就有两个执行对象,但流程实例还只是有一个。


总结:

* 一个流程中,执行对象可以存在多个,但是流程实例只能有一个。

* 当流程按照规则只执行一次的时候,那么流程实例就是执行对象。


本文参考于网络


相关问答

更多

activiti 流程实例和执行实例的区别

1、首先是根据流程ID获取当前任务: List tasks = taskService.createTaskQuery().processInstanceId(procInstanceId).list(); 2、然后根据当前任务获取当前流程的流程定义,然后根据流程定义获得所有的节点: ProcessDefinitionEntity def = (P...

activiti流程变量如何修改

流程变量的设置方式有两种,一是通过基本类型设置,第二种是通过JavaBean类型设置。 1.基本类型 [java] view plain copy /**设置流程变量*/ @Test public void setProcessVariables(){ String processInstanceId = "1301";//流程实例ID String assignee = "张三";//任务办理人 TaskService taskService = processEngine.getTaskSer ...

activiti启动流程实例表里会不会有任务

一个流程中,流程实例只有一个,执行对象可以有多个(如果存在分支和聚合) SELECT * FROM activiti.act_ru_execution a; #正在执行的执行对象表 SELECT * FROM activiti.act_hi_procinst a; #流程实例的历史表 SELECT * FROM activiti.act_ru_task a; #正在执行的任务表(只有节点是UserTask的时候,该表中才存在数据) SELECT * FROM activiti.act_hi_tas ...

Activiti如何实现查询与流程实例关联的业务对象

给你说一个方案,就是你在设计你的流程xml的时候,已经把一个 这个东西放在xml里面,到时候你就可以把这个东西查出来,就可以知道要查询哪张业务表了

mysql sql中流程控制有for循环吗?

delimiter $$ mysql> mysql> CREATE PROCEDURE myProc() //创建while循环的存储过程 if分支语句示例 -> BEGIN -> -> DECLARE i int; -> SET i=1; -> loop1: WHILE i<=10 DO -> IF MOD(i,2)<>0 THEN /*Even number - try again*/ -> SELECT CONCAT(i," is an odd number"); -> END IF; -> ...

Activiti BPM:如何获取已删除流程实例(任务)的列表(Activiti BPM: How can I get list of deleted process instance (task))

此sql查询应该为您提供所有未完成的历史实例,而不执行活动: select h.proc_inst_id_ from act_hi_procinst h left join act_ru_execution x on x.proc_inst_id_ = h.proc_inst_id_ where h.end_act_id_ is null and x.proc_inst_id_ is null This sql query should give you all non completed ...

我可以使用原始HTML来显示Activiti流程图吗?(Can I use raw HTML to display Activiti process diagram?)

我不确定是否有教程,但REST API可用于提取流程图并通过ajax调用显示它。 呼叫顺序是: 使用以下内容获取流程部署ID:GET / activiti-rest / service / process-definitions 替代方案,您可以从TASK或PROCESS INSTANCE获取流程定义 获得您感兴趣的流程后,获取流程的详细信息:GET activiti-rest / service / repository / process-definitions /其中ID是您从1中选择的ID ...

Activiti - 继续执行而不完成子流程(Activiti - Continue execution without completing a subprocess)

不确定这是否是你所追求的,但只有在用户任务2完成后才会调用包含“狗”任务的子进程。 在该示例中,用户任务2是一个用户任务,但它可以很容易地成为服务或脚本任务。 这样,无论用户任务1是否完成,子过程2(包含狗)都会在先决条件完成后立即运行。 如果我错过了您的具体要求,请告诉我。 格雷格 Not sure if this is what you are after, but the subprocess containing "the Dogs" task will only be called af ...

Activiti REST API:完整的流程实例(Activiti REST API: complete process instance)

也许我遗漏了一些东西,但在最后一个任务完成后,该过程将正常结束,并且在/ runtime / process-instances列表中不再可见。 现在,您提到使用Terminate End Event完成实例,Terminate End事件将完成实例但不会设置“complete”标志。 终止通常用于取消正在运行的进程。 您应该使用常规结束事件而不是终止,这应该设置完整标志。 再说一次,也许我在你的描述中遗漏了一些东西。 谢谢格雷格 Perhaps I am missing something, b ...