导入 camunda-modeler
idea 2020 之后的版本不再适用 actibpmn 插件,所以引用扩展工具
-
camunda-modeler 是作为外部工具使用的,故导入方式与actibpmn 不同
-
program选择 Camunda Modeler.exe
-
arguments 点击 “+” 号选择 filepath
-
画好的工作流程图,后缀为 .bpmn的文件在idea内打开,修改部分配置文件
(1)修改命名空间
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:activiti="http://activiti.org/bpmn" xmlns:modeler="http://camunda.org/schema/modeler/1.0" id="Definitions_03io3g1"
targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="4.9.0"
modeler:executionPlatform="Camunda Platform" modeler:executionPlatformVersion="7.15.0">
(2)修改amunda:assignee 为 activiti:assignee
5. .bpmn 流程定义文件部署
package com.xx.test;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.repository.Deployment;
import org.junit.jupiter.api.Test;
public class ActivitiTest02 {
/**
* 部署流程:
* 1. ACT_RE_DEPLOYMENT 流程部署表,每执行一次部署,会插入一条记录
* 2. ACT_RE_PROCDEF 生成流程定义信息
* 其中 ACT_RE_DEPLOYMENT 与 ACT_RE_PROCDEF 表是一对多的关系,
* ACT_RE_PROCDEF 每条记录对应一个流程的定义信息(如: 小梦、 小谷请假申请)
* 3. ACT_GE_BYTEARRAY 流程资源表, */
@Test
public void deployByFile() {
// 1. 实例化流程引擎实例
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
// 2. 获取流程定义和部署对象相关的Service
RepositoryService repositoryService = processEngine.getRepositoryService();
// 3. 创建部署对象进行流程的部署,定义一个流程的名字,把 .bpmn 和 .png 部署到数据库中
Deployment deployment = repositoryService.createDeployment()
.name("请假流程")//该处为定义的审批流程的中文名称
.addClasspathResource("processes/leave.bpmn")//定义流程文件的路径
.addClasspathResource("processes/leave.png")//定义流程文件的路径
.deploy();
// 4. 输出部署信息
System.out.println("部署ID: " + deployment.getId() );
System.out.println("部署名称: " + deployment.getName() );
}
}
- 部署流程结果
注意
1、camunda只支持mysql5.6和5.7
2、不修改.bpmn文件开发时我使用的是MySQL8.0,在查询个人任务时数据库中没有任何信息,但是在流程定义和流程部署时都是可以正常使用的。就是查询个人信息时数据库为空,可能是流程部署的时候不兼容的问题,修改文件后,可以正常开发。没有尝试使用低版本的mysql所以就无法告知是否必须修改文件。这里给出的方法是,修改文件进行流程部署,任务查询的方式。