目录
- 一、前言
- 二、Camunda基本介绍
- 2.1、camunda基础--符号表示
- 2.2、camunda基础--网关表示
- 2.3、camunda基础--事件表示
- 三、springboot集成Camunda
- 四、后续
一、前言
目前市场上有常见的流程引擎:JBPM、Activiti、Camunda、Flowable、CompileFlow。它们的发展史如下:
Camunda 官方首页:https://camunda.com/
Camunda 官方文档:https://docs.camunda.org/get-started/quick-start/
Camunda 中文翻译文档:http://camunda-cn.shaochenfeng.com/
Camunda github:https://github.com/camunda/
Camunda engine rest api 详细接口及参数参考:https://docs.camunda.org/manual/7.9/reference/rest/
二、Camunda基本介绍
2.1、camunda基础–符号表示
服务任务用于调用服务。在 Camunda 中,这是通过调用 Java 代码或为外部执行者提供一个工作单元来完成的。
发送任务( Send Task)是一种比较简单的任务,用来把消息发送给外部参与者。当消息发送完毕,这个任务也就结束了。
用户任务( User Task)用于为那些需要由人工参与者完成的工作建模。当流程执行到一个用户任务时,将在分配该任务的用户或组的任务列表中创建一个新任务。
业务规则任务用于同步执行一个或多个规则。
脚本任务( Script Task)是一个自动化的活动。当流程执行到脚本任务时,将执行相应的脚本。
流程将保持这种等待状态,直到流程引擎接收到特定的消息,这将触发接收任务之外流程的继续进行。
流程将保持这种等待状态,直到流程引擎接收到特定的消息,这将触发接收任务之外流程的继续进行。
2.2、camunda基础–网关表示
只选择条件评估通过的序列列继续执行。
并行执行后续流程。
包含网关是排他网关和并行网关结合。从包含网关传出序列流进行条件评估,条件评估为真的(多个)会并行执行;到达包含网关的所有并发执行在网关等待,等所有传入序列流都执行到达为止。
2.3、camunda基础–事件表示
三、springboot集成Camunda
这里选择springboot、camunda版本选型如下:
springboot camunda jdk
2.5.3 7.16.0 8
引用camunda的jar包如下:
<dependency>
<groupId>org.camunda.bpm.springboot</groupId>
<artifactId>camunda-bpm-spring-boot-starter</artifactId>
<version>7.16.0</version>
</dependency>
<!--rest api操作接口包-->
<dependency>
<groupId>org.camunda.bpm.springboot</groupId>
<artifactId>camunda-bpm-spring-boot-starter-rest</artifactId>
<version>7.16.0</version>
</dependency>
<!--Web管理平台-->
<dependency>
<groupId>org.camunda.bpm.springboot</groupId>
<artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
<version>7.16.0</version>
</dependency>
application.yml配置如下:
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/camunda?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
username: root
password: root
mybatis-plus:
mapper-locations: classpath:/mapper/*.xml
global-config:
db-config:
id-type: auto
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
call-setters-on-nulls: true
# camunda配置
camunda:
bpm:
admin-user:
id: admin
password: 123456
first-name:
filter:
create: All tasks
database:
type: mysql
schema-update: true
auto-deployment-enabled: true
deployment-resource-pattern: classpath:/processes/*.bpmn
Camunda数据库:
camunda依赖相关数据库表,按照上面的配置,启动后,会生成相关表如下。
act_ge_bytearray 二进制数据表
act_ge_property 属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录
act_re_deployment 部署信息表
act_re_model 流程设计模型部署表
act_re_procdef 流程定义数据表
act_ru_event_subscr throwEvent、catchEvent时间监听信息表
act_ru_execution 运行时流程执行实例表
act_ru_identitylink 运行时流程人员表,主要存储任务节点与参与者的相关信息
act_ru_job 运行时定时任务数据表
act_ru_task 运行时任务节点表
act_ru_variable 运行时流程变量数据表
按照上面配置后,启动springboot,即可启动,访问http://localhost:8033/
进入camunda页面,到此简单的集成即完成。
四、后续
后续将介绍实际的流程。。。。。。