Camunda相关知识
一、相关服务接口
RepositoryService : 操作流程定义
RuntimeService : 操作流程实例
TaskService : 操作任务
IdentityService : 操作用户或者组
HistoryService : 查询历史表相关数据
AuthorizationService : 授权相关服务
FormService : 操作流程表单
ManagementService : 执行cmd以及job相关服务
CaseService : CMMN相关操作
FilterService : 过滤相关服务
ExternalTaskService : 外部任务相关服务
DecisionService : DMN相关服务
二、流程定义与实例
我的理解:流程定义就是Java中的Class,而流程实例就是Java中New的对象,所以一个流程定义可以有很多个流程实例。
三、监听器
执行监听器:ExecutionListener
在流程实例执行的过程中触发某个事件时,执行监听器允许你去执行额外的java代码或者对指定的表达式求值。
属性值有:start 【启动时触发】、end【结束时触发】
任务监听器:TaskListener
属性值有:create【创建任务时触发】、assignment【任务指定负责人触发】、complete:【任务完成后触发】、delete:【任务删除前触发】
四、Camunda Modeler
就是用来画流程图的,我们需要这个来生成对应的xml文件,后面方便测试流程引擎
下载地址:流程设计器
五、会签
一个流程节点可以有一个至多个任务,也称之为工作项。如果是多个任务则称这个节点为会签
会签执行的顺序
- 串行会签:串行会签也叫顺序会签,指按照提交流程处理人的次序user1、user2、user3依次接收待办任务,并按顺序处理流程。
- 并行会签:指user1、user2、user3同时接收到流程待办任务,并行处理。
会签通过的规则
- 全部通过:会签人全部审批通过表决后,会签通过。
- 按数量通过:达到一定数量的通过表决后,会签通过。
- 按比例通过:达到一定比例的通过表决后,会签通过。
- 一票通过:只要有一个表决通过的,会签通过。
- 一票否决:只要有一个表决时否定的,会签不通过。
主要参数
- loop cardinality:循环基数。可选项。可以直接填整数,表示会签的人数。
- Collection:集合。可选项。会签人数的集合,通常为list,和loop cardinality二选一。
- Element variable:元素变量。选择Collection时必选,为collection集合每次遍历的元素。
- Completion condition:完成条件。可选。比如设置一个人完成后会签结束,那么其他人的代办任务都会消失。
- nrOfActiviteInstances:当前活动的实例数量,即还没有完成的实例数量
- loopCounter :循环计数器,办理人在列表中的索引
- nrOfInstances:会签中总共的实例数
- nrOfCompletedInstances:已经完成的实例数量
我有话说: