zoukankan      html  css  js  c++  java
  • 学习Activiti-各种Service

    前言

      Activiti流程引擎包含了20多张表,在Activiti中就有25张表之多,而且表之间的关系也比较复杂,比如包含各种外键约束。

      按照传统的方式,有了数据库表后,就应该为每张表创建Model实体类,然后为其创建对应的DAO接口,然后再创建对应的Manager或者Service来实现对表数据的增删改查;

      但是按照传统方式的,就会有一个很严峻的问题,表的数量太多,并且关系复杂,还要兼顾流程引擎的处理方式,自己去搞一套,几乎不可能;

      其实不需要我们去创建实体类,然后创建DAO、Manager或者Service,因为Activiti已经把这些东西给搞好了,只需要调用即可。

    Service总览

      可以通过创建的流程引擎对象,就能获取到各种Service,示例如下:

    @Test
    public void testGetService() {
        ProcessEngine defaultProcessEngine = ProcessEngines.getDefaultProcessEngine();
        
        // 通过调用ProcessEngine的getXxxService即可获取对应的Service
        ManagementService managementService = defaultProcessEngine.getManagementService();
        RepositoryService repositoryService = defaultProcessEngine.getRepositoryService();
        TaskService taskService = defaultProcessEngine.getTaskService();
        RuntimeService runtimeService = defaultProcessEngine.getRuntimeService();
        HistoryService historyService = defaultProcessEngine.getHistoryService();
        DynamicBpmnService dynamicBpmnService = defaultProcessEngine.getDynamicBpmnService();
    }
    

      接下来大概介绍一下每个Service的功能,而详细的介绍则在使用的时候解释。

    ManagementService

      ManagementService是一般用来对Activiti流程引擎的管理和维护。

    RepositoryService

      从名字上可以看出来,repository,仓库、贮藏,对应到Activiti中,也就是“资源的管理”,比如流程定义的控制管理(发布、删除、挂起、激活....);

    DynamicBpmnService

      RepositoryService可以用来部署流程定义(使用xml形式定义好的),一旦部署到Activiti(解析后保存到DB),那么流程定义就不会再变了,除了修改xml定义文件内容;

      而DynamicBpmnService就允许我们在程序运行过程中去修改流程定义,比如修改流程定义中的分配角色、优先级、流程流转的条件...

    RuntimeService

      可以通过RuntimeService对流程实例进行相关的操作,比如管理流程实例的角色、分配人...以及执行信息的查询

      

    TaskService

      TaskService可以对任务进行管理和查询。

    HistoryService

      HistoryService提供了查询历史信息的功能,包括流程实例信息、参与者信息、完成时间....

      原文地址:https://www.cnblogs.com/-beyond/p/14017494.html

  • 相关阅读:
    【C#进阶系列】06 类型和成员基础
    纪中5日T1 1564. 旅游
    纪中17日T1 2321. 方程
    纪中17日T2 2322. capacitor
    纪中10日T1 2313. 动态仙人掌
    纪中14日听课小结 图论 最短路 二分图 差分约束
    一个抓猫的游戏 消遣GAME 持续更新中!
    洛谷P1464 Function  HDU P1579 Function Run Fun
    洛谷P1976 鸡蛋饼
    纪中12日T1 2307. 选择
  • 原文地址:https://www.cnblogs.com/-beyond/p/14017494.html
Copyright © 2011-2022 走看看