zoukankan      html  css  js  c++  java
  • Activiti工作流面试相关知识!

    1:什么是工作流,工作流的核心对象是什么,activiti共操作数据库多少张表
      * 工作流就是多个参与者,按照某种预定义的规则,传递业务信息,进行审核的功能一个框架(Activiti)
      * processEngine,调用Service,从而操作数据库的表
      * 23表

    2:工作流中RepositoryService、RuntimeService、TaskService、HistoryService分别表示什么操作
    RepositoryService:流程定义和部署对象
    RuntimeService:执行管理,包括流程实例和执行对象(正在执行)
    TaskService:执行任务相关的(正在执行)
    HistoryService:历史管理
    IdentityService:Activiti表的用户角色组

    3:流程实例和执行对象的区别
     * 流程从开始到结束的最大分支,一个流程中,流程实例只有1个
     * 执行对象,就是按照流程定义的规则执行一次的操作,一个流程中,执行对象可以有多个

    4:流程变量在项目中的作用
     * 1:用来传递业务参数,目的就是审核人可以通过流程变量查看申请人的一些审核信息
       2:在连线的condition中设置流程变量,用来指定应该执行的连线${message=='重要'}

       3:使用流程变量指定个人任务和组任务的办理人#{userID}

    5:activiti工作流中,如果一个任务完成后,存在多条连线,应该如何处理?
      * 使用流程变量
      * 当一个任务完成之后,根据这几条连线的条件和设置流程变量,例如${流程变量的名称=='流程变量的值'},{}符号是boolean类型,判断走哪条连线
    6:activiti工作流中,排他网关和并行网关都能执行什么功能
      排他网关:分支,通过连线的流程变量,判断执行哪条连线,如果条件不符合,会执行默认的连线离开,注意:只能执行其中的一个流程。
      并行网关:可以同时执行多个流程,直到总流程的结束。可以对流程进行分支和聚合,注意:流程实例和执行对象是不一样的

    7:分配个人任务的三种方式
    *直接给值,在Xxxx.bpmn文件中指定
    *流程变量${流程变量的名称}或者#{}
    *使用类 监听这个类(实现一个接口),指定任务的办理人(setAssgnee())

    8:个人任务和组任务的查询一样吗?
      * 不一样
      * 都是用TaskService完成(TaskService.createTasQuery)
      * 个人任务(taskAssgnee),组任务(taskCandidateUser)
      * 数据库存放,个人任务(类型:参与),组任务(类型,参与,候选)

    参考来源:http://blog.csdn.net/u013456370/article/details/50144849

  • 相关阅读:
    ThinkPHP框架知识(比较全的知识)
    利用smarty模板(登录、有关信息操作等功能)
    从零开始学习Node.js例子七 发送HTTP客户端请求并显示响应结果
    从零开始学习Node.js例子六 EventEmitter发送和接收事件
    从零开始学习Node.js例子五 服务器监听
    从零开始学习Node.js例子四 多页面实现数学运算 续二(client端和server端)
    从零开始学习Node.js例子四 多页面实现数学运算 续一(使用connect和express框架)
    从零开始学习Node.js例子四 多页面实现数学运算
    从零开始学习Node.js例子三 图片上传和显示
    从零开始学习Node.js例子二 文本提交与显示
  • 原文地址:https://www.cnblogs.com/zzuzhenlei/p/7569534.html
Copyright © 2011-2022 走看看