![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Activiti7 与 SpringBoot
文章平均质量分 72
主要记录Activiti7使用方式,比如流程创建、部署、开启、获取待处理列表、审核等功能使用方式。同时部分功能与Spring Boot同时使用情况说明。
红鹰_Jake
如果你没产生用户价值,但公司还在给你丰厚的收入,那一定是有人在买单。
展开
-
25、Camunda Service Task、任务监听器和执行监听器
Service Task、任务监听器和执行监听器都可执行调用Java 业务代码。参考资料:http://camunda-cn.shaochenfeng.com/user-guide/process-engine/delegation-code/服务任务 Class 配置的类,必须实现接口org.camunda.bpm.engine.impl.pvm.delegate.ActivityBehavior; 功能大于JavaDelegate,用不好会出问题,小心使用。或org.camunda.bpm.原创 2022-06-22 16:25:35 · 7470 阅读 · 2 评论 -
24、Camunda 流程变量作用域
@DOC流程变量作用域记录流程变量作用域和当前活动ID识别目标作用域,当前活动ID可能是执行器ID、或多实例ID,具体需看具体流程分支。execution.setVariable()会在当前活动ID(执行器ID)下记录变量,如果当前执行器有父执行器ID会写入到父执行器ID下。这也就是在子流程中设置的变量在父流程中可获取到的原因。父执行器下的变量共享到子执行器下的变量。execution.setVariableLocal() local可直接指定当前变量作用域,写入变量时,会直接写入到当前执行器ID原创 2021-12-01 15:01:50 · 2417 阅读 · 0 评论 -
23、Camunda DMN决策初探
DMN 决策表 初探Camunda DMN 决策Camunda 中使用DMN决策Camunda DMN案例创建学生分配班级审核流程创建决策开启流程,校长审核时,指定决策表中所需要的变量注意参考资料Camunda DMN 决策Camunda 中使用DMN决策Camunda 支持DMN1.3版本,在BPMN业务活动流程中,可通过业务规则任务调用DMN决策。DMN决策目的是想把业务代码和决策进行解耦,使决策分析人员只需关心决策即可。Camunda DMN案例通过幼儿园学生年龄age和身高height分配原创 2021-10-19 11:27:08 · 3759 阅读 · 0 评论 -
22、Camunda 补偿事件、事务子流程、分布式事务一致性
Camunda 补偿事件、事务子流程、分布式事务一致性补偿事件 Compensation Event事务子流程事务子流程如果没有暂停点事务子流程中补偿事件子流程不会触发Camunda 如何保证分布式事务一致性错误事件+补偿事件 就可以完成事务一致性,为什么还需要有个事务子流程?参考资料补偿事件 Compensation Event1、按照补偿事件的定义,补偿事件只会在他标识的task成功执行完毕之后才有可能被触发;2、如果他标识的task出现异常,会触发边界异常中断事件,这个补偿事件不会触发(Task原创 2021-10-15 16:36:43 · 2909 阅读 · 2 评论 -
21、camunda外部任务
外部任务依赖Spring boot application.yml 配置camunda引擎地址外部任务流程案例自定开启订阅配置 Subscriptions订阅外部任务配置 HandlerConfiguration外部任务拦截器camunda 外部任务可通过HTTPClient或者Postman调用依赖 <!--Camunda 外部任务--> <dependency> <groupId>org.camunda.bpm.springboot</g原创 2021-10-09 11:53:04 · 2838 阅读 · 2 评论 -
20、camunda Connector连接器 发送POST接口
camunda Connector连接器 发送POST接口连接器使用项目添加依赖连接器的使用案例流程图 conn/conn3.bpmn流程部署、启动流程Rest接口案例连接器使用连接器可向其他服务发送Http Rest或SOAP请求,调用其他服务。地址可使用${} 读取流程变量;调用Http接口返回值可通过 camunda spin 解析JSON或XML数据。项目添加依赖<!--添加连接器插件后,连接器 就可以使用了--> <dependency>原创 2021-10-09 11:34:12 · 2241 阅读 · 0 评论 -
19、spring boot 集成camunda7.15
spring boot 集成camunda7.15Maven添加项目依赖Spring application.yml配置Spring boot启动类项目启动,由于camunda webapp,可登录camundaMaven添加项目依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</a原创 2021-10-09 11:20:32 · 2475 阅读 · 0 评论 -
18、Camunda Script Task Groovy 发送POST请求
Groovy 发送POST Rest接口请求引入依赖流程Groovy脚本 发送POST请求开启流程案例Rest接口2、groovy 案例22.1、流程和groovy脚本2.2、流程开启设置变量引入依赖<!--Spring boot 集成camunda--> <dependency> <groupId>org.camunda.bpm.springboot</groupId> <artifa原创 2021-10-09 11:14:42 · 1716 阅读 · 0 评论 -
17、Camunda bpmn.js 使用记录
Camundabpmn.js 绘制流程图高亮展示bpmn.js 绘制流程图高亮展示https://blog.csdn.net/qq_35664308/article/details/110469247转载 2021-07-26 10:39:33 · 3288 阅读 · 0 评论 -
16、camunda流程部署后act_re_procdef 表无数据
act_re_procdef 流程部署后,表无数据camunda 流程部署后表无数据修改后代码camunda 流程部署后表无数据camunda流程部署时,有个校验resourceName必须以"bpmn20.xml", "bpmn"结尾,否则校验不通过,不会向表act_re_procdef 插入数据。但是act_re_deployment和act_ge_bytearray 表会有数据。@Test public void deploy() throws IOException {原创 2021-07-26 10:09:46 · 1987 阅读 · 6 评论 -
15、工作流Web流程设计器及表单设计器
工作流Web流程设计器及表单设计器Web 流程设计器自定义表单-集成到流程中Web 流程设计器Activi6 提供了Web版BPMN 流程设计器。Camunda和Flowable 都提供了,独立的Web流程设计器。有时项目需要,需要把这些设计器集成到业务系统中,可以进行集成处理。camunda modeler 独立的Web版 bpmn流程可视化在线编辑;https://github.com/camunda/camunda-modelerflowable Web流程设计器及内部表单设计器:flo原创 2021-07-14 16:19:15 · 3454 阅读 · 1 评论 -
14、flowable、camunda(卡蒙达) 等开源工作流引擎选择
市场上比较有名的开源流程引擎有osworkflow、jbpm、activiti、flowable、camunda。其中:Jbpm4、Activiti、Flowable、camunda四个框架同宗同源,祖先都是Jbpm4,开发者只要用过其中一个框架,基本上就会用其它三个。开发低代码平台、OA系统、BPM软件均需要流程可视化功能,而流程可视化核心是流程引擎和流程设计器,对于市场上如此多的开源流程引擎,哪个功能和性能好,该如何选型呢?推荐大家使用camunda(流程引擎)+bpmn-js(流程设计器)组合,笔者转载 2021-07-14 15:08:39 · 5673 阅读 · 0 评论 -
13、撤回(撤销)、驳回(退回)、作废(终止)、挂起(中止)
撤回-撤销、驳回-退回、作废-终止、挂起-中止流程撤回-撤销1、流程定义2、部署流程,开启流程,完成第一个节点"审批1"审批3、撤回案例流程驳回-退回-退回到历史节点的任何节点流程挂起、作废流程撤回-撤销1、流程定义<process id="test2" isClosed="false" isExecutable="true" processType="None"> <startEvent id="_2" name="StartEvent"/> <user原创 2021-07-13 11:56:54 · 13863 阅读 · 3 评论 -
12、流程监听器-ExecutionListener
流程监听器-ExecutionListener流程监听器流程监听器1、activiti:executionListener class 配置2、类型定义3、节点 监听器配置及类型定义4、单元测试监听器如何和Spring 集成?1、expression 设置EL表达式1、用户审批节点监听器配置2、监听器类型定义流程监听器流程监听器,可监听流程开启、结束,流程审批达到哪个连线上或者流程审批达到那个节点的审批,节点审批完成、取消等操作时,是否触发某些业务逻辑。流程监听器全局的监听器。全局监听器主要使用原创 2021-07-11 14:12:52 · 6646 阅读 · 3 评论 -
11、ServiceTask 服务任务-Spring集成
ServiceTask 服务任务ServiceTask 服务任务ServiceTask 使用方式1、流程适当节点添加ServiceTask2、ServiceTask上指定调用业务Class,及属性信息设置,可指定流程变量等UML表达式3、类型定义,实现接口JavaDelegate4、测试代码案例如何和Spring 集成,使用Bean?1、activiti:expression 完成Spring Bean1、activiti:expression 有参数2、activiti:expression 无参数3、a原创 2021-07-11 14:11:39 · 1544 阅读 · 1 评论 -
10、返回当前审批流程图、后续审批按钮
返回当前审批流程图、后续审批按钮返回当前审批流程图-SVG矢量图根据流程返回当前审批页面按钮情况返回当前审批流程图-SVG矢量图有时业务需要,在流程审批中,可以查看当前流程审批到哪个节点了?需要提供一个流程图,并且高亮显示当前审批节点,此时就可以使用以下功能了public void getProcessImage(String instanceId, HttpServletResponse response) throws IOException { ProcessInstance p原创 2021-07-10 15:32:38 · 770 阅读 · 1 评论 -
9、BpmnModel 手动部署流程
BpmnModel 手动部署流程BpmnModel 手动部署流程BpmnModel 手动部署流程有时需要开发Web 流程图编辑功能时,必须了解BpmnModel,这里手动创建BpmnModel对象,了解BpmnModel里面都有什么。只有对BpmnModel了解了,后续对流程的定义就一目了然,本质就是一些XML。 @Test public void bmpModelTest(){ //如何获取数据库中的BpmnModel ? 可以使用工具类:ProcessDefinitionU原创 2021-07-10 15:25:03 · 1733 阅读 · 0 评论 -
8、Activiti7 与Spring-Boot集成-开启流程设置发起人
Activiti 与Spring集成-开启流程设置发启人1、Activiti 内部依赖Spring和Mybatis2、与Spring Boot集成2.1、Activiti7默认携带Spring Security3、Spring Bean中可以直接注入Activiti用到的类型服务3、Activiti 开启流程时,设置发启人1、Activiti 内部依赖Spring和Mybatis可以很方便的和Spring集成使用,和Spring集成,核心的就是把一些Service Bean IOC注入到我们业务代码中,原创 2021-07-10 15:22:40 · 1348 阅读 · 0 评论 -
7、任务分配-任务分派其他人
任务分配-任务分派其他人1、个人任务分配2、组任务分配2.1、多个候选人处理任务2.2、多候选人任务使用场景,任务分派2.3、候选组分配-用的较多1、个人任务分配2、组任务分配根据角色名称或岗位名称,分配任务到一组人身上,只要1个人处理任务,流程就会走到下一节点。可以添加**Candicate users 候选人,使用,分割多个候选人。2.1、多个候选人处理任务流程执行到多个候选人的结点下时,直接使用某个候选人提交任务是不行的。需要某个候选人先认领任务后,再提交任务。//候选人认领任务t原创 2021-07-10 15:17:05 · 2155 阅读 · 1 评论 -
6、网关 复杂分支流程
网关 复杂分支流程1、网关2、排他网关 ExclusiveGateway2.1、流程部署、启动流程、提交流程和之前都一样的操作3、并行网关 ParallelGateway4、包含网关 InclusiveGateway5、事件网关 EventGateway1、网关网关是控制流程流向的重要组件,一般和流程变量配合使用。对于复杂分支流程时,只用变量很难控制。排他网关 ExclusiveGateway并行网关 ParallelGateway包含网关 InclusiveGateway事件网关 Event原创 2021-07-10 15:14:12 · 579 阅读 · 1 评论 -
5、流程变量Variables
流程变量Variables1、流程变量2、变量注意事项,程序设置的变量值尽量提前手动规则校验3、流程中添加变量,通过变量控制流程走向3.1、创建流程时,设置变量判断3.2、开启流程时设置变量1、流程变量其实流程变量 Map<String,Object> 和Business Key都是可以存储我们业务数据的,只是流程变量可以参与到流程的控制中,而Business Key 在流程中没有任何作用,只是存储个额外数据。1.流程变量尽量不要存储太多业务数据,尽量少存储数据,多用于流程判断中2.O原创 2021-07-10 15:10:08 · 654 阅读 · 0 评论 -
4、高级-BusinessKey,流程挂起和激活,任务提交添加备注
BusinessKey,流程挂起和激活,任务提交添加备注1、BusinessKey2、流程定义-挂起和激活2.1、流程定义-挂起或激活2.2、挂起的流程继续下一节点人执行任务时,报异常2.3、某个流程实例-挂起和激活3、任务提交时,可添加备注信息、附件等信息1、BusinessKey启动流程时,传入BusinessKey,与业务关联。最大255长度大小。字符串存储,可以存储JSON字符串,注意长度问题。一般是存储审批主表ID,比如请假表单ID。/** * 启动流程时,添加BusinessKe原创 2021-07-10 15:07:04 · 1236 阅读 · 0 评论 -
3、开启流程、查询任务列表,完成任务、审核历史
开启流程、查询任务列表,完成任务、审核历史1、请假流程操作1.1、开启流程1.2、获取任务列表1.3、完成当前任务,流程走到下一节点1.4、依次用不同的人往复完成1.2-1.3,获取任务、完成任务2、查询流程审核历史1、请假流程操作请假流程整个步骤如下,流程开启jake 员工填写请假单子manager 经理审批general 副总经理审批finance 财务审批整个流程结束。以下是获取开启流程、任务列表、完成任务案例。<userTask activiti:assignee="ja原创 2021-07-10 15:04:39 · 773 阅读 · 0 评论 -
2、流程部署-上传到服务数据库,查看当前正在执行任务
流程部署-上传到服务数据库,正在执行任务1、部署单个BPMN文件到服务2、1次部署多个BPMN文件3、流程定义信息查询4、查询流程下正在跑的任务5、删除流程部署信息6、流程资源下载1、部署单个BPMN文件到服务部署BPMN文件到流程引擎中,一般是Web界面上传 bpmn.xml 文件部署,这里只是模拟读取项目文件夹下的文件进行部署。@Test public void deploymentTest(){ //1 创建ProcessEngine ProcessEn原创 2021-07-10 15:01:51 · 525 阅读 · 1 评论 -
1、activiti7 工作流引擎Maven项目搭建及使用
activiti7 工作流引擎1、Maven 纯Activiti7项目搭建(无Spring)1.1、数据库1.2、依赖1.3、activiti.cfg.xml 配置1.4、代码初始化表结构2、定义工作流2.1、bpmn 文件导出成png图片供后续业务人员查看3、流程开发过程Activiti 只是一个工作流引擎,并不是一个完整的工作流产品或框架,日常工作流使用时,必须在此基础上进行项目开发。Activiti 只支持流程部署-UML流程XML文件部署,流程开启、审批及审批节点的流转等操作。并未提供人员、权限及原创 2021-07-10 14:53:35 · 2033 阅读 · 2 评论