Camunda BPM 初步了解

Camunda BPM

用途:   流程管理、流程解决方案

支持语言: java ,nodejs

官网入门指导:https://docs.camunda.org/get-started/quick-start/      看官网可以快速构建一个可用的工程;

我尝试使用了spring boot ,maven,Camunda BPM写了个官网例子;

1、Spring boot 快速构建一个 web工程,https://start.spring.io/

2、把生成的工程导入到idea 或者eclipse里面;

2.1 修改pom.xml文件的依赖如下:

<dependencies>
<dependency>
<groupId>org.camunda.bpm.springboot</groupId>
<artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>


其中org.camunda.bpm.springboot这个依赖继承了 camunda bpm和 spring boot starter
<dependency>
<groupId>org.camunda.bpm.springboot</groupId>
<artifactId>camunda-bpm-spring-boot-starter-webapp</artifactId>
<version>3.2.0</version>
</dependency>

2.2 修改spring boot 主入口程序,加入注解@EnableProcessApplication;
@SpringBootApplication
@EnableProcessApplication
public class CamundabpmApplication {
public static void main(String[] args) {
SpringApplication.run(CamundabpmApplication.class, args);
}

}
2.3 启动程序;浏览器访问localhost:8080
页面如下:



3、官网下载
camunda bpm 画流程图的工具:Camunda Modeler
下载链接:https://camunda.com/download/modeler/?__hstc=12929896.ac03a515a45a7a10726115b3f850d7c2.1551935385801.1551935385801.1551935385801.1&__hssc=12929896.2.1551955519686&__hsfp=100025305

解压后,直接打开exe文件,可以打开工作界面;

4、画图如下,注意第二个方框上有一个人

画好后,点击右侧,查看id;这个id是流程图的唯一标志id;

保存文件为taskflow.bpmn

5、在 main/resources下面加入 META-INF 文件,在META-INF 下加入processes.xml文件,内容为空;

6、在main/resources下面加入application.yaml; 内容如下:

camunda.bpm:
admin-user:
id: kermit
password: superSecret
firstName: Kermit
filter:
create: All tasks


说明:不加这个文件也可以启动,但是访问页面时没有登录


7、启动spring boot ;访问localhost:8080
可以看到登录界面,登录
账号
Kermit
密码:
superSecret
可以进入系统
8、把文件 taskflow.bpmn 复制到项目中,放在 main/resources下面;
修改主程序入口:
由于taskflow.bpmn 的流程id为Process_1,所以这里填写Process_1


9、重启spring boot;
访问 localhost:8080
登录后可以查看到新增了一个task




示例代码
https://github.com/bellagoodday/camundabpm.git

可能遇到的问题
1、
no processes deployed with key 'Process': processDefinition is null

原因:

1)检查bpmn 文件的id和请求的id 是否一致;从以下图片可看出,bpmn的id 是Processaaa,然而请求的id是  Process .需要修改请求的id为 Processaaa 即可

2)还可能的原因是;在 main/resource下面没有添加META-INF文件,切记还需要在下面加一个process.xml空文件哦




原文地址:https://www.cnblogs.com/Bella-fu/p/10491647.html