1. 什么是Caumunda
1.1 简介
Camunda工作流源自于activity5,是德国的一个工作流程自动化软件开发商提供的
目前提供了两个版本:
Camunda7(组件化)和Camunda8(云原生平台)
1.2支持的模型
BPMN2 (Business Process Model And Notation) 业务流程模型标记
CMMN (Case Management Model And Notation) 案例管理模型标记
DMN (Decision Model And Notation) 决策模型标记
1.3优势
高性能(乐观锁,缓存机制)
高扩展性
高稳定性
独有的外部任务模式
完善的Rest Api
支持多租户
优秀的流程设计器
1.4学习文档与社区
官方文档:https://docs.camunda.org/manual/
国内翻译过后的中文文档:http://camunda-cn.shaochenfeng.com/
脚手架:https://start.camunda.com/
论坛(https://forum.camunda.io/)
github社区: https://github.com/camunda-community-hub
github开源社区: https://github.com/camunda
国内开源社区:https://www.oschina.net/informat/camunda
2. SpringBoot整合Camunda
2.1 导入JAR包
<dependency>
<groupId>org.camunda.bpm.springboot</groupId>
<artifactId>camunda-bpm-spring-boot-starter</artifactId>
<version>7.18.0</version>
</dependency>
<dependency>
<groupId>org.camunda.bpm.springboot</groupId>
<artifactId>camunda-bpm-spring-boot-starter-rest</artifactId>
<version>7.18.0</version>
</dependency>
<dependency>
<groupId>org.camunda.bpm.springboot</groupId>
<artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
<version>7.18.0</version>
</dependency>
2.2 YML配置
server:
port: 8080
## camunda登录信息配置
camunda.bpm:
admin-user:
id: admin ##用户名
password: 123456 ##密码
firstName: yu
filter:
create: All tasks
## mysql连接信息
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/camunda
username: root
password: 123456
type: com.mysql.cj.jdbc.MysqlDataSource
2.3 创建bpmn流程配置文件
2.3.1 下载安装Camunda modeler
CanundaModeler官网下载
Idea集成Camunda Modeler(引用大佬文档,侵删)
2.3.1 Camunda modeler简单使用

本文主要使用 Camunda Platform 7 点击创建bpmn格式文件

创建文件开始时会自动创建一个start event,点击扳手可以修改事件类型

拖拽创建一个简单任务,常用任务 :
- userTask 用户任务,即需要用户参与动作的任务
- serviceTask 服务任务,自动完成的任务
- sendTask 发送任务
以userTask举例

1. General

主要:用于配置当前任务ID及名称
2. UserAssignment

用户分配:配置当前任务分配人及候选。 ${XXXX} 取值语法,可以从流程启动参数中取出对应XXXX的数据,若无则报错
3. TaskListener

可以触发的事件类型依次为:
- 创建事件
- 分配事件
- 完成事件
- 删除事件
- 修改事件
- 超时事件

监听器类型推荐使用Delegate expression(委托表达式)
@Bean("start")
JavaDelegate start(){
//业务代码
return execution -> LOGGER.info("===================start====================");
}
4. ExecutionListener
使用方式与TaskListener基本一致,就是事件类型少了点

Camunda是一个高性能、高稳定性的工作流程自动化平台,支持BPMN2、CMMN和DMN模型。文章介绍了Camunda的组件化和云原生版本,以及其优势,如外部任务模式和完善的RESTAPI。在SpringBoot中整合Camunda,涉及导入相关依赖,配置YML文件,并展示了如何创建BPMN流程配置文件和使用CamundaModeler进行设计。
1434

被折叠的 条评论
为什么被折叠?



