![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Camunda
文章平均质量分 82
大龄码农有梦想
专注云原生、低代码平台、流程引擎开发
展开
-
camunda性能指标日志收集和配置
Camunda 流程引擎在运行时会默认记录运行时指标,有助于得出有关 Camunda 平台的使用情况、负载和性能的结论。其中,ACT_RU_METER_LOG表记录了流程引擎一系列活动实例的度量指标;ACT_RU_TASK_METER_LOG表记录了人工活动分配处理人的度量值。默认情况下会记录一组内置指标,所有内置指标的标识符都可以作为org.camunda.bpm.engine.management.Metrics类的常量使用。原创 2024-03-18 13:44:54 · 1266 阅读 · 0 评论 -
camunda流程引擎事务管理和乐观锁
本文重点介绍camunda开源流程引擎的事务配置,以及在高并发多线程情况下,可能会发生多个线程尝试对相同流程实例数据进行更改的情况,Camunda如何通过数据库的乐观锁解决这种并发冲突的,并介绍了乐观锁和悲观锁的适用场景、性能影响等。原创 2024-03-18 13:40:20 · 840 阅读 · 1 评论 -
camunda流程引擎的插件如何使用
camunda工作流引擎是一个开放的架构,除了流程引擎默认提供的功能外,开发者可以通过流程插件机制,对流程引擎功能进行扩展。即流程引擎插件是流程引擎配置的扩展。插件必须提供ProcessEnginePlugin接口的实现。除了在 BPMN 2.0 XML 中显式配置的执行和任务侦听器之外,流程应用程序 API 支持定义全局 ExecutionListener 和全局 TaskListener,它们会收到有关流程应用程序部署的流程中发生的所有事件的通知原创 2024-03-18 13:37:12 · 386 阅读 · 0 评论 -
camunda多租户技术架构和测试验证
多租户考虑的是单个 Camunda 安装应该为多个租户提供服务的情况,是实现SaaS化的重要技术手段。对于每个租户,应做出一定的隔离保证。例如,一个租户的流程实例不应干扰另一租户的流程实例。多租户可以通过两种不同的方式实现。一种方法是每个租户使用一个流程引擎。另一种方法是仅使用一个流程引擎并将数据与租户标识符相关联。这两种方式在数据隔离级别、维护工作量和可扩展性方面有所不同。两种方式的组合也是可能的。原创 2024-03-11 08:40:53 · 1218 阅读 · 0 评论 -
camunda历史记录级别配置和历史数据清理
camunda工作流引擎中有好多以ACT_HI_*开始的数据库表,HI代表历史。这些表包含历史数据,如过去的流程实例、变量、任务等。camunda流程引擎内部有历史记录事件流的机制,在流程执行过程中,会产生大量的历史数据,这些历史数据可以通过历史记录级别参数来设置,也可以通过API接口查询这些历史实例数据,或者通过历史实例任务数据进行统计分析,找到业务流程执行瓶颈,或者为业务KPI考核提供依据。但大量的历史记录数据存储会对流程引擎的执行性能产生影响,这就需要通过设置历史记录的清理策略,根据不同的业务需要定时原创 2024-03-08 16:47:37 · 1557 阅读 · 0 评论 -
camunda流程平台数据库表结构介绍
本文基于Camunda7.19.0版本,介绍Camunda开源工作流引擎的数据库架构和ER模型,Camunda7.19.0共49张表,包括了BPMN流程引擎、DMN规则引擎、CMMN引擎、历史数据、用户身份等方面的表结构定义,以及表与表之间的关联关系。原创 2024-03-04 07:47:49 · 2321 阅读 · 0 评论 -
camunda流程版本的控制和使用
从本质上讲,业务流程是长期运行的,流程实例可能会持续数周或数月。同时,流程实例的状态将存储到数据库中。但是,即使仍有正在运行的实例,您也可能需要更改流程定义。流程引擎支持此功能:如果重新部署更改的流程定义,则会在数据库中获得新版本。正在运行的流程实例将继续在启动它们的版本中运行。新的流程实例将在新版本中运行 - 除非显式指定。在特定限制内支持将流程实例迁移到新版本。原创 2024-03-01 18:31:06 · 1112 阅读 · 0 评论 -
camunda流程平台的连接器如何使用
Camunda Connect提供了一个简单的API,用于连接HTTP服务和其他内容。它针对两种使用场景:在Camunda平台流程引擎等通用系统中使用,以及通过API独立使用。Camunda Connect提供了一个REST HTTP和一个SOAP HTTP连接器,用户也可以在 camunda 中实现自己的自定义连接器。原创 2024-03-01 15:44:41 · 906 阅读 · 0 评论 -
camunda流程引擎外部任务(External Task)如何使用
camunda流程引擎支持两种执行服务任务的方式:1.内部任务:同步调用与流程应用程序一起部署的代码。2.外部任务:在列表中提供可由员工轮询的工作单元。第一个选项可以通过委托代码(Delegation) 或者脚本(Script)实现.相反,外部(服务)任务的工作方式是Process Engine流程引擎将工作单元发布给Worker来获取和完成。我们将其称为外部任务模式(the external task pattern)。外部任务模式是camunda工作流引擎特有的机制。原创 2024-02-29 18:54:55 · 1849 阅读 · 0 评论 -
camunda流程跳转和流程回退的实现方法
我们在使用工作流的时候,常常有“流程退回”、“流程跳转”、“自由流”、“动态加签”等这样的需求。Camunda流程平台提供了这样的机制和接口,虽然流程模型定义活动执行顺序的序列流,但有时需要灵活地重新启动活动或取消正在运行的活动,进而可以实现中国特色的流程需求。文本重点讲如何使用camunda的API接口实现流程跳转、流程退回的需求。原创 2024-02-29 09:22:42 · 3676 阅读 · 0 评论 -
Camunda流程重启和流程激活如何实现
我们在使用工作流的时候,经常遇到“流程激活”或者“流程重启”的需求,即流程实例已经结束,由于某些特殊业务需求,仍然需要重新激活重启该流程实例。Camunda流程平台提供了这样的机制和接口,可以实现流程重启的需求,流程实例终止后,其历史数据仍然存在,并且可以访问以恢复流程实例,前提是历史级别设置为FULL。本文以开源流程引擎Camunda7.19.0版本介绍流程重启的API接口。原创 2024-02-28 16:34:36 · 1184 阅读 · 0 评论 -
Camunda流程变量如何使用
本文章介绍camunda流程引擎中变量的概念。流程变量可用于向流程运行时状态添加数据,或者更具体地说,向变量作用域添加数据。更改这些实体状态的各种 API 方法允许更新附加的变量。通常,变量由名称和值组成。该名称用于跨流程构造进行标识。例如,如果一个活动设置了一个名为 var 的变量,则后续活动可以使用此名称访问它。变量的值是一个 Java 对象。原创 2024-02-28 10:48:47 · 1417 阅读 · 0 评论 -
camunda流程引擎常用API接口介绍
本文介绍Camunda7(Camunda7.19.0版本)流程引擎常用API接口,让大家了解Camunda常用的API接口有哪些(包括有:RepositoryService、RuntimeService 、TaskService 、HistoryService等),项目中如何调用Java API和REST API,尤其是查询API接口,Camunda提供了多种查询方式(包括有:Java Query API、REST Query API、Native Queries、Custom Queries、SQL)原创 2024-02-27 15:58:05 · 2285 阅读 · 0 评论 -
camunda流程平台技术架构概述
Camunda Platform 是一个基于 Java 的BPMN(流程引擎)、DMN(规则引擎)、CMMN(案例管理)的开源框架。主要组件是用 Java 编写的,主要专注于为 Java 开发人员提供在 JVM 上设计、实现和运行业务流程和工作流所需的工具(开源流程引擎、规则引擎等)。尽管如此,我们也希望将流程引擎技术提供给非 Java 开发人员。这就是为什么Camunda Platform还提供REST API,允许您构建连接到远程流程引擎的应用程序。Camunda7和Camunda8在架构上有重大差异。原创 2024-02-25 10:49:04 · 1467 阅读 · 2 评论 -
Spring Boot 项目集成camunda流程引擎
使用camunda开源工作流引擎有:通过docker运行、使用springboot集成、部署camunda发行包、基于源代码编译运行等多种方式。其中,通过源代码编译运行的方式最为复杂,具体参考:https://lowcode.blog.csdn.net/article/details/136206057文本重点介绍如何在Spring Boot应用程序中如何集成Camunda Platform开源流程平台,这也是项目中最为常见的一种使用方式。原创 2024-02-25 10:34:39 · 3313 阅读 · 1 评论 -
camunda源代码编译运行(三):验证camunda API接口功能
本文章介绍了通过camunda7.19的源代码编译运行方式,构建自己的springboot工程,并通过RESTful接口方式,验证camunda源代码编译和运行效果。以上仅仅是验证了camunda流程引擎和rest接口是好用的,还没有人机交互界面,camunda开源版本也提供了基于angular语言开发的web界面,但该界面功能有限(好多高级有用的功能都在camunda企业版本里),而且不太适合中国人操作习惯,所以UI界面部分建议大家选择自己熟悉的语言vue\react\angular,进行定制化开发。原创 2024-02-22 08:26:29 · 1078 阅读 · 1 评论 -
camunda源代码编译运行(二):构建并运行camunda源代码工程
Camunda 7.19源代码一共有178个maven工程和1个angular前端工程,这么多工程中包括了大量的QA测试包、JDK不同版本适配(比如:Java EE和Jakarta EE)、多种中间件部署包(比如:Tomcat、Jboss、wildfly)、spring和springboot集成适配包等,我们仅仅需要把Camunda的流程引擎包和REST服务包的源代码拿来使用,下面通过IDEA开发工具,从代码层面整合Camunda的流程引擎源代码。原创 2024-02-22 08:03:27 · 1506 阅读 · 0 评论 -
camunda源代码编译运行(一):下载编译camunda源代码
使用camunda开源工作流引擎有多种方式,包括:通过docker运行、使用springboot集成、部署camunda发行包、基于源代码编译运行等多种方式,其中,通过源代码编译集成整合方式,是最复杂的一种方式,文本重点介绍如何通过camunda7.19源代码编译,集成整合到自己的项目工程里。接下来,我们需要分析Camunda 源代码工程结构,Camunda 7.19一共有178个maven工程和1个angular前端工程。原创 2024-02-21 10:52:15 · 1779 阅读 · 4 评论 -
Camunda快速入门(五):设计一个带DMN业务规则的流程
在本节中,您将学习如何使用 BPMN 2.0 业务规则任务和 DMN 1.3 决策表将决策自动化添加到流程中。初步了解如何使用camunda的DMN规则设计器,如何跟BPMN流程模型关联,如何发布DMN规则模型,并通过一个流程执行验证camunda开源规则引擎的功能。原创 2024-02-21 10:41:39 · 969 阅读 · 0 评论 -
Camunda快速入门(四):设计一个带网关的流程
在本节中,您将学习如何使用 BPMN 2.0 排他网关(Exclusive Gateways)使流程更加动态。学会使用camunda流程设计器配置网关,设置路由条件,以及理解流程变量和路由条件的关系。原创 2024-02-20 08:21:29 · 1049 阅读 · 0 评论 -
Camunda快速入门(三):设计一个人工任务流程并配置表单
在本节中,您将学习如何使用 BPMN 2.0 用户任务让人类参与到您的流程中。通过camunda表单设计器设计一个表单,流程关联表单,发布流程和表单。原创 2024-02-20 08:14:41 · 1533 阅读 · 0 评论 -
Camunda快速入门(二):设计并执行第一个BPMN流程
在本节中,您将学习如何使用 Camunda Modeler 创建您的第一个 BPMN 2.0 流程,以及如何执行自动化步骤。Camunda 平台的构建是为了让您的业务逻辑可以用不同的语言实现。您可以选择哪种语言最适合您的项目。在本快速入门中,我们将向您展示如何在以下位置使用 Camunda 的现成任务客户端:Java或者JavaScript (NodeJS),根据你熟悉的开发语言情况,选择其中之一即可。如果您以前从未使用过 Java,我们建议在本教程中使用 JavaScript (NodeJS) 任务原创 2024-02-19 10:47:17 · 2904 阅读 · 4 评论 -
Camunda快速入门(一):安装部署Camunda流程平台
本教程将指导您使用 Camunda 7.19版本(支持JDK1.8的最新的Camunda 版本)进行建模和实施您的第一个工作流。在本指南中,您将快速体验Camunda的核心功能,包括:流程设计器、自动化流程、人工任务流程、表单设计器、DMN决策表(规则引擎)等。原创 2024-02-19 10:21:33 · 2022 阅读 · 1 评论 -
基于开源组件自主开发工作流引擎系统
目前基于Java语言开发的主流开源工作流引擎有osworkflow、jbpm、activiti、flowable、camunda。其中osworkflow、jbpm技术较老已经过时,activiti包括activiti5、activiti6、activiti7三个版本,flowable分开源版和商业版,camunda包括camunda7和camunda8两个系列的版本。这么多版本的开源流程引擎,哪个功能完善、性能最好,该如何选型呢?原创 2024-01-15 18:10:41 · 1306 阅读 · 0 评论 -
应用系统如何集成和扩展开源工作流引擎
目前主流的开源流程引擎activiti、flowable、camunda需要增加中国特色流程操作功能,包括:办理、加签、减签、跳转、退回申请人、退回上一步、任意退回、委托、转办、传阅、催办、收回、撤销等,这些功能配置即生效,不能硬编码写死,不然很难维护。自带的流程门户页面,包括发起流程、待办任务,流程审批,流程跟踪等功能,基本上不符合中国人操作习惯,以及对UI界面的审美需求,这部分前端界面均需要重新开发。配置功能包括:流程选人、表单配置、按钮权限、流转规则、字段权限。适配国产数达梦、人大金仓、神州通用等)原创 2024-01-05 18:54:49 · 1192 阅读 · 0 评论 -
开源免费的流程设计器如何选型
本文重点介绍,基于bpmn2.0标准规范的开源工作流引擎activiti、flowable、camunda,如何选择一个开源免费的流程设计器/工作流设计器/流程建模工具,进行集成和扩展开发,快速交付项目使用。原创 2023-11-20 17:21:41 · 1092 阅读 · 0 评论 -
activiti和flowable如何迁移到camunda
Camunda 官方提供了一个名为 activiti-to-camunda 的开源工具,用于将 Activiti 5 和 Activiti 6 的流程定义和历史数据迁移到 Camunda。1、流程定义的兼容性:Camunda 支持 BPMN 2.0 规范,因此 Activiti 定义的流程需要进行检查和调整以确保与 Camunda 兼容。1、流程定义的兼容性:Camunda 支持 BPMN 2.0 规范,因此 Flowable 定义的流程需要进行检查和调整以确保与 Camunda 兼容。原创 2023-06-02 08:39:54 · 1402 阅读 · 1 评论 -
camunda如何清理或归档历史数据
2、使用 Camunda Archiver 进行归档:Camunda Archiver 是一个单独的工具,可以用于将历史数据从活跃的数据库表中归档到指定的归档表中。3、使用自定义代码进行归档:可以编写自定义代码来实现历史数据的归档功能。1、使用 Batch 定时任务进行归档:Camunda 提供了 Batch 定时任务功能,可以通过定时任务来自动将历史数据归档到指定的归档表中。在 Camunda 中,归档历史数据通常是指将历史数据从活跃的数据库表中移动到归档表中,以减轻数据库表的负担和提高查询效率。原创 2023-06-02 08:37:01 · 1786 阅读 · 0 评论 -
camunda如何配置历史数据的生成级别
以上是一些常见的历史和审计日志配置选项,可以根据实际业务需求进行配置。配置历史和审计日志可以帮助用户了解业务流程的执行情况、发现潜在的问题和瓶颈,并进行优化和改进,从而提高业务流程的效率和质量。3、数据库表配置(Database Table Configuration):用于配置历史数据存储的数据库表,包括历史流程实例表、历史任务表、历史变量表等。4、审计日志配置(Audit Logging Configuration):用于配置审计日志的生成和保存方式,包括审计日志的格式、存储位置、日志级别等。原创 2023-06-02 08:34:09 · 906 阅读 · 0 评论 -
Camunda如何利于性能指标优化流程性能
2、分析流程执行情况:使用 Camunda 提供的流程监控工具(如 Camunda Cockpit),分析流程的执行情况,查看流程中的瓶颈、繁琐的任务、等待时间等问题。4、测试和部署:在进行流程优化后,进行测试验证,确保流程的正确性和可行性。5、监控和优化:持续监控流程的执行情况,针对流程中的问题进行优化,包括流程模型、任务流程、任务人员分配等方面,不断优化流程的执行效率和质量。3、优化流程:基于流程分析的结果,对流程进行优化,包括优化流程图、调整任务流程、简化任务和网关等元素等。原创 2023-05-30 14:06:54 · 1021 阅读 · 0 评论 -
camunda如何部署到容器云Kubernetes
例如,可以使用ConfigMap对象存储Camunda的配置文件,然后将ConfigMap挂载到Camunda容器内。2、在Kubernetes中创建一个Deployment对象,用于定义Camunda应用程序的副本数量、容器镜像、环境变量、卷挂载等信息。3、为Deployment对象创建一个Service对象,用于将Camunda应用程序暴露给外部网络。上述Deployment对象定义了一个名为camunda的容器,并将ConfigMap对象挂载到容器内的/camunda/config目录。原创 2023-05-26 10:10:40 · 780 阅读 · 0 评论 -
camunda流程引擎connector如何使用
在 Camunda 中,Connector 是一种用于与外部系统或服务交互的机制。它允许 BPMN 模型中的 Service Task 节点与外部系统或服务进行通信,从而使流程更加灵活和可扩展。使用 Connector,可以将业务流程与外部系统集成在一起,而无需编写复杂的代码或使用第三方库。Camunda 提供了一些内置的 Connector 实现,例如 HTTP、SOAP 和 JMS Connector。此外,您还可以编写自己的 Connector 实现,以与其他系统进行交互。原创 2023-05-17 11:16:01 · 861 阅读 · 0 评论 -
camunda如何发布和调用rest服务接口
可以在 Camunda BPM 平台中使用 JavaScript 脚本的方式,通过内置的 REST API 接口与 Camunda 平台进行交互,并获取或操作 Camunda 平台中的资源和数据。1、使用 Java 代码调用 REST 服务接口。2、使用 Camunda BPM 官方提供的 Java 客户端库或者 REST 客户端库,通过 REST API 接口与 Camunda 平台进行交互,获取或操作 Camunda 平台中的资源和数据。同时,可以通过响应体的方式,返回相应的结果和数据给客户端。原创 2023-05-17 11:09:51 · 1027 阅读 · 0 评论 -
camunda子流程(Subprocess)如何使用
在 Camunda 中,子流程可以使用嵌入式子流程(Embedded Subprocess)或调用式子流程(Call Activity)来实现。嵌入式子流程是一种直接嵌入到主流程中的子流程,可以在主流程的任何位置执行;而调用式子流程是一种通过调用另一个流程定义来执行子流程的方式,可以使用输入输出参数来传递数据。原创 2023-05-16 16:51:31 · 979 阅读 · 0 评论 -
Camunda 外部任务(External Task)如何使用
使用 Camunda 的外部任务(External Task)可以将复杂的业务逻辑分配给外部系统处理,从而提高流程的处理效率和可扩展性。同时,外部任务还可以实现任务的异步执行、分布式处理和可重试性等特性。在使用外部任务时,需要注意任务的锁定时间和超时时间,以确保任务的可靠性和可恢复性。原创 2023-05-16 16:48:57 · 1220 阅读 · 0 评论 -
camunda执行监听器和任务监听器有什么区别
执行监听器可以在流程元素执行前、执行后或抛出异常时添加自定义逻辑,例如在服务任务执行前进行参数验证、在网关执行后进行决策评估。任务监听器可以在任务节点的生命周期中添加自定义逻辑,例如在任务完成时发送通知邮件、在任务创建时设置任务优先级。总之,执行监听器和任务监听器可以根据具体的业务需求进行灵活使用,以添加自定义的逻辑和行为,提高流程的可扩展性和可重用性。Camunda的执行监听器和任务监听器是用于添加自定义逻辑的监听器,它们的区别在于作用对象和触发事件的不同。在抛出异常时记录异常信息,以便后续处理。原创 2023-05-10 08:43:23 · 1207 阅读 · 0 评论 -
camunda任务监听器如何使用
使用任务监听器,您可以轻松地执行这些验证,并在需要时拒绝或中止任务。4、执行任务完成后的后续操作:任务完成后,您可能需要执行某些后续操作,例如将任务结果传递给另一个任务,更新流程变量或向用户发送通知。1、创建一个Java类来实现任务监听器接口,实现接口中定义的相应方法,例如实现任务完成监听器需要实现 TaskListener 接口中的 notify() 方法。在上面的示例中,当任务节点被完成时, MyTaskCompleteListener 类的 notify() 方法将被执行,并输出相应的任务信息。原创 2023-05-10 08:43:05 · 1143 阅读 · 0 评论 -
camunda执行监听器如何使用
使用执行监听器,您可以轻松地执行这些验证,并在需要时拒绝或中止任务。2、将监听器附加到事件:在Camunda模型er中,您可以将执行监听器附加到特定的活动或事件。1、记录或更新业务数据:当流程中的任务或事件发生时,您可以使用执行监听器将数据存储在外部系统或数据库中。总之,使用执行监听器,您可以将Java类附加到Camunda流程中的活动或事件,并在特定的业务流程事件发生时执行相应的代码。总之,执行监听器提供了一种可扩展的机制,可用于在流程执行期间执行各种有用的操作,并帮助您更好地管理和控制业务流程。原创 2023-05-10 08:40:52 · 815 阅读 · 0 评论 -
camunda的Java委托如何使用
2、在流程定义中配置Java委托:然后,在Camunda模型器中或者在BPMN XML文件中,您可以配置使用Java委托的服务任务或其他步骤。3、在Java委托中使用Camunda API:在Java委托中,您可以使用Camunda API来访问流程变量、执行业务逻辑和调用外部系统的API。例如,在服务任务中,您可以使用Java委托来读取或写入流程变量的值。3、判断条件:您可以使用Java委托来判断条件,例如,在网关中使用Java委托来决定下一个流程步骤的执行路径。原创 2023-05-09 14:08:39 · 991 阅读 · 0 评论 -
camunda表达式如何使用
1、使用简单表达式:您可以在Camunda的各个环节中使用简单表达式。2、使用EL表达式:EL表达式是一种标准的Java表达式语言,可以在Camunda的表单中使用。例如,在服务任务中,您可以使用表达式来读取或写入流程变量的值。Camunda支持多种类型的表达式,包括简单表达式、EL表达式、脚本表达式和Java表达式。在Camunda中,您可以在各个环节中使用表达式,包括服务任务、网关、表单和条件等。3、判断条件:表达式可以用于判断条件,例如,在网关中使用表达式来决定下一个流程步骤的执行路径。原创 2023-05-08 09:14:14 · 1155 阅读 · 0 评论