2024年4月20日发(作者:)

关于流程设计器

一、 概要说明

例子分为两部分:视频例子和代码例子。

视频文件直观的展示了如何使用流程设计器绘制流程图。代码文件验证了使用绘制的

流程图可以被activitiAPI正确解析。

视频文件名与代码文件名相对应。代码bpmn和svg文件都以my前缀开头。

经试验,流程设计器不支持(代码不能解析)直接指定Assignee,也不支持在usertask图元上

使用流程变量指定Assignee。(实际上项目中也不会使用以上两种方法指定Assignee,因为是写死在xml中

属于硬编码)

二、 设计器使用

注意:设计器在画图的时候与eclipse不同的地方在与经常会使用【设置】按钮对选中的图

元进行设置,包括类别的选择等。

三、 根据activiti技术要点绘图

见视频文件

四、 小结

1、activiti工作流中,如果一个任务完成后,存在多条连线,应该如何处理?

 在连线中,使用流程变量。

 当一个任务完成后,根据这几天连线的条件设置流程变量,例如${流程变量的名称==”流程变量的

值”},{}符号是boolean类型,在完成任务的时候,设置流程变量,activiti引擎判断走哪条线。

2、activiti工作流中,排他网关和并行网关都能执行什么功能?

 排他网关:分支,通过连线设置流程变量,activiti引擎判断执行哪条线,如果条件不符合,会执行

默认的连线离开,注意:排他网关只能执行其中的一个流程。(排除其他流程)

 并行网关:可以同时执行多个流程,直到总流程的结束。可以对流程进行分支和聚合,注意:流程实

例和执行对象是不一样的。一个流程实例只有一个,但是执行对象可以存在多个。如果是单例流程(没

有分支和聚合),那么流程实例ID和执行对象ID是相同的。

执行对象(Execution)的含义就是一个流程对象(ProcessInstance)具体要执行的过程对象。

3、分配个人任务的三种方式

 直接给值,在流程设计器中指定Assignee。不支持

 使用流程变量${变量的名称==”变量的值”}。不支持

 使用类,使用监听类(实现activiti接口),指定任务的办理人(setAssignee())。支持

五、 工作流思想

工作流的主要作用是分离了业务逻辑和过程逻辑,让业务开发人员专注于核心的业务开发,过程逻辑

的处理交给工作流引擎,且过程逻辑的变化对于核心业务逻辑不影响或者影响很少。