【流程引擎】--Camunda基础及sprringboot简单集成Camunda

news2024/12/24 0:15:50

目录

  • 一、前言
  • 二、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页面,到此简单的集成即完成。
在这里插入图片描述

四、后续

后续将介绍实际的流程。。。。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/899284.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TR 已经释放 task未释放的问题

货铺QQ群号&#xff1a;834508274 微信群不能扫码进了&#xff0c;可以加我微信SAPliumeng拉进群&#xff0c;申请时请提供您哪个模块顾问&#xff0c;否则是一律不通过的。 进群统一修改群名片&#xff0c;例如BJ_ABAP_森林木。群内禁止发广告及其他一切无关链接&#xff0c;小…

16-案例-记账单

功能需求: <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </head> &l…

224、仿真-基于51单片机音乐播放器流水灯控制Proteus仿真设计(程序+Proteus仿真+原理图+程序流程图+元器件清单+配套资料等)

毕设帮助、开题指导、技术解答(有偿)见文未 目录 一、硬件设计 二、设计功能 三、Proteus仿真图 四、原理图 五、程序源码 资料包括&#xff1a; 需要完整的资料可以点击下面的名片加下我&#xff0c;找我要资源压缩包的百度网盘下载地址及提取码。 方案选择 单片机的选…

C++音乐播放系统

C音乐播放系统 音乐的好处c发出声音乐谱与赫兹对照把歌打到c上 学习c的同学们都知道&#xff0c;c是一个一本正经的编程语言&#xff0c;因该没有人用它来做游戏、做病毒、做…做…做音乐播放系统吧&#xff01;&#xff01; 音乐的好处 提升情绪&#xff1a;音乐能够影响我们…

【C++进阶】继承、多态的详解(多态篇)

【C进阶】继承、多态的详解&#xff08;多态篇&#xff09; 目录 【C进阶】继承、多态的详解&#xff08;多态篇&#xff09;多态的概念多态的定义及实现多态的构成条件&#xff08;重点&#xff09;虚函数虚函数的重写&#xff08;覆盖、一种接口继承&#xff09;C11 override…

解决C#报“MSB3088 未能读取状态文件*.csprojAssemblyReference.cache“问题

今天在使用vscode软件C#插件&#xff0c;编译.cs文件时&#xff0c;发现如下warning: 图(1) C#报cache没有更新 出现该warning的原因&#xff1a;当前.cs文件修改了&#xff0c;但是其缓存文件*.csprojAssemblyReference.cache没有更新&#xff0c;需要重新清理一下工程&#x…

双层优化入门(4)—基于对偶变换的双层优化求解

之前的博客介绍了双层优化的基本原理、以及如何使用KKT条件和智能优化算法求解双层优化问题&#xff0c;这篇博客将继续介绍如何通过对偶变换求解双层优化问题。 1.线性规划的对偶问题 参考资料&#xff1a; 运筹学修炼日记&#xff1a;如何优雅地写出大规模线性规划的对偶_刘…

spring boot 整合支付宝微信支付

1.目录结构 2.引入依赖 <!--引入阿里支付--><dependency><groupId>com.alipay.sdk</groupId><artifactId>alipay-sdk-java</artifactId><version>4.11.8.ALL</version></dependency><!--引入微信支付--><depe…

Redis中的淘汰策略

前言 本文主要说明在Redis面临key过期和内存不足的情况时&#xff0c;可以采用什么策略进行解决问题。 Redis中是如何应对过期数据的 正如我们知道的Redis是基于内存的、单线程的一个中间件&#xff0c;在面对过期数据的时候&#xff0c;Redis并不会去直接把它从内存中进行剔…

运用工具Postman快速导出python接口测试脚本

Postman的脚本可以导出多种语言的脚本&#xff0c;方便二次维护开发。 Python的requests库&#xff0c;支持python2和python3&#xff0c;用于发送http/https请求 使用unittest进行接口自动化测试 一、环境准备 1、安装python&#xff08;使用python2或3都可以&#xff09;…

HCIP之VLAN实验

目录 一、实验题目 二、实验思路 三、实验步骤 3.1 将接口划入vlan&#xff0c;设置trunk干道 3.2 启动DHCP服务&#xff0c;下发地址 四、测试 一、实验题目 实验要求&#xff1a; 1&#xff0c;PC1/3的接口均为access模式&#xff0c;且属于vlan2&#xff0c;处于同一…

pyltp 0.2.1安装

1. LTP及pyltp pyltp是 LTP的 Python封装&#xff0c;它里面提供了包括分词&#xff0c;词性标注&#xff0c;命名实体识别&#xff0c;句法分析等等能力。 比较坑的是我们可能无法直接通过pip install pyltp0.2.1方式来安装&#xff0c;所以本文就简单记录下如何通过源码安装…

04_15页表缓存(TLB)和巨型页

前言 linux里面每个物理内存(RAM)页的一般大小都是4kb(32位就是4kb),为了使管理虚拟地址数变少 加快从虚拟地址到物理地址的映射 建议配值并使用HugePage巨型页特性 cpu和mmu和页表缓存(TLB)和cache和ram的关系 CPU看到的都是虚拟地址&#xff0c;需要经过MMU的转化&#xf…

langchain-ChatGLM源码阅读:模型加载

文章目录 使用命令行参数初始化加载器模型实例化清空显存加载模型调用链loader.py的_load_model方法auto_factory.py的from_pretrained方法modeling_utils.py的from_pretrained方法hub.py的get_checkpoint_shard_files方法modeling_utils.py的_load_pretrained_mode方法回到loa…

电脑远程接入软件可以进行文件传输吗?快解析内网穿透

电脑远程接入软件的出现&#xff0c;让我们可以在两台电脑之间进行交互和操作。但是&#xff0c;很多人对于这些软件能否进行文件传输还存在一些疑问。下面的文章将解答这个问题。 1.电脑远程接入软件可以进行文件传输。传统上&#xff0c;我们可能会通过传输线或者移动存储设…

听GPT 讲Prometheus源代码--promql/promdb

Prometheus的promql目录包含PromQL(Prometheus Query Language)的解析和执行代码: parser.go 定义PromQL语法结构和parser,用于将PromQL查询语句进行语法解析。 semantic.go 实现PromQL的语义分析,检查查询是否语法正确且语义合理。 engine.go 定义PromQL执行引擎的接口和数据结…

Chapter 15: Object-Oriented Programming | Python for Everybody 讲义笔记_En

文章目录 Python for Everybody课程简介Object-oriented programmingManaging larger programsGetting startedUsing objectsStarting with programsSubdividing a problemOur first Python objectClasses as typesObject lifecycleMultiple instancesInheritanceSummaryGlossa…

AlexNet阅读笔记

ImageNet classification with deep convolutional neural networks 原文链接&#xff1a;https://dl.acm.org/doi/abs/10.1145/3065386 中文翻译&#xff1a;https://blog.csdn.net/qq_38473254/article/details/132307508 使用深度卷积神经网络进行 ImageNet 分类 摘要 大…

all in one之安装群辉和加硬盘(第五章)

安装群辉和加硬盘 安装群辉 群辉系统选择和介绍 PVE7.1虚拟机安装黑群晖教程 安装教程2 下载对应的群辉系统&#xff0c;根据自己的电脑性能来选择并下载&#xff1a; 百度网盘链接:提取码: 4itr 下载链接【私人博客】 第一步&#xff0c;把下载的img镜像上传到pve 记住上…