美文网首页
Activiti工作流

Activiti工作流

作者: o_O小薯条 | 来源:发表于2024-04-09 14:22 被阅读0次

    1.Activiti的表说明

    使用25张表

    ACT RE 流程定义和流程资源
    ACT RU 运行时,流程实例、任务、变量
    ACT HI 历史表
    ACT GE 通用表,

    2.Activiti的架构、类关系图2

    获取流程引擎的工具类

    获取流程引擎的工具类ProcessEngines.使用默认方式获取配置文件,构造流程引擎。配置文件名字activiti.cfg.xml,放在classpath下ProcessEngineConfiquration.可以自定义配置文件名
    使用上面2个工具类,都可以获得流程引擎
    ProressEnqine:流程引警。获取各种服务的接口。

    • 服务接口:用于流程的部署、执行、管理,使用这些接口就是在操作对应的数据表
      Repositoryservice 资源管理类
      Runtimeservice 运行时管理类
      TaskserviceHistoryservice 任务管理类
      Historyservice 历史数据管理类
      Managementservice 流程引擎管理类

    3.BPM插件

    idea安装actiBPM插件

    4.流程符号、画流程图

    • 流程符号:事件Ewent、活动Activity,网关Gateway,流向
      使用流程设计器画出流程图
      bpmn文件本质上是XML文件,因为安装actiBpM插件,才能可视化的看到流程内容
      创建bpmn文件,在流程设计器使用流程符号来表达流程。指定流程的Key,指定任务负责人
      生成PNG文件,把bpmn文件后缀改为zm1,在这个文件上右键选择Diagrams-》show BPMN2.0 Desinger,打开窗口,点击导出文件选择导出文件类型为PNG。要注意乱码的问题。

    5.部署流程

    使用Activiti提供的API把流程图的内容写入数据库中
    属于资源类操作,使用Repositoryservice
    单文件部署:把bpmn文件和png文件一个一个处理
    压缩包部署:把bpmn文件和png打压缩包来处理Deployment deploy= repositoryService.createDeployment()

    • 部署操作表:
      act_re_deployment 部署表
      act_re_procdef 流程定义表
      act_ge_bytearray 资源表

    6.启动流程实例

    使用Runtimeservice根据流程定义的Key

    • 核心代码:
      ProcessInstance instance =runtimeservice.startprocessInstanceByKey("myEvection");
    • 操作表:
      act_hi_actinst 流程实例执行历史信息
      act_hi_identitylink 流程参与用户的历史信息
      act_hi_procinst 流程实例的历史信息
      act_hi_taskinst 流程任务的历史信息
      act_ru_execution 流程执行信息
      act_ru_identitylink 流程的正在参与用户信息
      act_ru_task` 流程当前任务信息

    7.任务查询

    使用Taskservice,根据流程定义的ey,任务的负责人来进行查询核心代码:
    List<Task> taskList =taskservice.createTaskQuery().processDefinitionKey("myEvection")//流程Key.taskAssignee("zhangsan")//要查询的负责人
    .list();

    8.任务完成

    • 使用Taskservice,用任务Id完成任务核心代码:
      taskservice.complete("2505");

    相关文章

      网友评论

          本文标题:Activiti工作流

          本文链接:https://www.haomeiwen.com/subject/sojfxjtx.html