1.简介
如果你需要使用一个流程引擎来开发,并且你用的java做开发语言,但是你又不知道用哪个流程引擎,那么我建议你闭眼入这一款,Camunda是一个基于Java的开源工作流与业务流程管理(BPM)平台,它通过BPMN2.0(Business Process Model and Notation)规范来定义和执行流程。使用它主要特点和优势包括:
- 灵活性:支持灵活的流程定义和动态流程调整。
- 高性能:基于Java开发,性能稳定可靠。
- 可扩展性:支持插件化扩展,可定制化程度高。
- 监控性:提供全面的流程监控和报告功能。
- 易用性:直观的流程设计器,方便用户创建、编辑流程模型。
2.效果图
3.如何开发(基于maven)
1.依赖引入
我使用的是7.16.0 的版本,大家有需要可以根据自己实际需求去替换版本并按需引入,下面是依赖包括引擎,webapp以及rest api的引入:
<dependency> <groupId>org.camunda.bpm.springboot</groupId> <artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId> <version>${camunda.version}</version> </dependency> <!-- camunda 流程依赖 --> <dependency> <groupId>org.camunda.bpm.springboot</groupId> <artifactId>camunda-bpm-spring-boot-starter-rest</artifactId> <version>${camunda.version}</version> </dependency> <dependency> <groupId>org.camunda.bpm.springboot</groupId> <artifactId>camunda-bpm-spring-boot-starter</artifactId> <version>${camunda.version}</version> </dependency>
2.部署流程
部署流程我们采用流的形式去部署也最简单,我们将设计好的流程图数据的xml,读取到内存中,用输入流ByteArrayInputStream读取,通过Camunda流程引擎提供的RepositoryService(部署服务)来进行部署如下:
Deployment deployment = repositoryService.createDeployment().name(flowName)